Cuando lanzas un nuevo sitio web en Internet y no está cerrado de alguna forma, sea por IP o cualquier otro tipo de control (Firewall, proxy, etc...) y tienes algún formulario expuesto como el inicio de sesión o el formulario de contacto seguramente sufirás ataques de Bots de spam.
Estos Bots son básicamente programas que por defecto completan todos los campos de los formularios y ejecutan la acción "submit" para comprobar que es lo que ocurre. En muchos casos consiguen entrar en los sitio (porque la contraseña es 1234 por ejemplo....) o consiguen enviar gran cantidad de spam mediante los formularios de contacto.
Los dos principales (que yo creo) problemas de que estos bots estén actuando en nuestro sitio son:
- Al enviar gran cantidad de emails el proveedor de correo te marcará el dominio como spam y no podrás enviar más correos == "PROBLEMÓN"
- Están continuamente probrando a entrar en tu sitio y esto son peticiones que tiene que gestionar el sistema por lo que te irá algo más lentro de lo normal
Para evitar esto existen un montón de herramientas y servicios Anti-Spam. En este caso te enseñaré el Recaptcha de Google. Muy muy muy resumido, este servicio de Google lo que hace es comprobar el comportamiento del cliente a la hora de completar el formulario y si no entra en su umbral de error, no permite ejecutar el formulario por lo que el sitio web no procesa esa petición. Generalmente tienes 2 opciones para usar este servicio:
- Captcha activo: tienes que solucionar un problema (selección de imágenes, cálculo matemático, etc...). Si fallas, no puedes ejecutar el formulario
- Captcha pasivo: según tu comportamiento, puedes o no ejecutar el formulario. Se basa en acciones y un umbral de paso. Según tus acciones tienes un valor (dentro del rango 0,1) y según el umbral que especifiques (cuando más te acerques a 1, más restrictivo eres) puedes ejecutar o no el formulario
Para configurar este servicio en tu sitio web (siempre hablando de Drupal claro), tienes que hacer muy pocos pasos. Es muy sencillo!:
- Instala el módulo ReCaptcha o ReCaptchaV3 (este último usa la opción de captcha pasivo)
- Accede al panel de ReCaptcha con tu cuenta de Google y crea un nuevo sitio
- Copia las claves que te proporciona Google en la configuración de tu módulo (Imagen 1)
- Define en qué formularios quieres activar el recaptcha (Imagen 2)
- En el caso de que uses la V3, deberás definir la acción y el umbral que quieres en tu sitio
- Listo!