En el momento que se publica un formulario web en internet vienen los bots a atacarlo enviando spam. Esto es un hecho y es inevitable. Los bots (acortamiento de robot) son programas automáticos que viajan por internet de un enlace a otro. Hay bots buenos y bots no tan buenos. Se estima que en 2018 los bots fueron responsables del 40% del tráfico en internet 1 Aquí comentamos las estrategias para eliminar spam en formularios web.
El "ataque" de un bot a un formulario web consiste en enviar el formulario web repetidas veces. El contenido que envía el bot depende de para que sirve el formulario web y el tipo de bot, pero generalmente es spam. Spam es correo electrónico o un mensaje no solicitado que se envían con fines publicitarios o comerciales. Por ello es importante que sepamos controlar spam en formularios web.
Ataques y objetivos de los bot
Un bot puede atacar un formulario web con diferentes intenciones:
- Publicitarios: si tienes un formulario web para recibir reseñas de un producto un bot de la competencia puede añadir una reseña falsa tipo spam en la que recomienda un producto de su empresa y así intentar convencer a tus clientes que su producto es mejor.
- Posicionamiento en buscadores: si tienes un formulario web para recibir comentarios en los post de tu blog, un bot puede dedicarse a añadir comentarios repletos de enlaces para mejorar el posicionamiento de otra página usando la tuya para recibir tráfico.
- Envío de spam: los bots pueden intentar enviar spam (correo no solicitado) a través de tu formulario web de contacto. Para ello, usan varias técnicas intentando encontrar alguna vulnerabilidad en la secuencia de comandos que te envía el mensaje con los datos enviados a través del formulario web.
- Educación de reCAPTCHA: algunos bots utilizan los formularios web protegidos por reCAPTCHA v3 para engañar a la inteligencia artificial que lo hace funcionar. Para ello, envian mensajes no muy frecuentes a través del formulario web con datos inentiligibles, pero que parecen textos y direcciones de email reales. Esto lo hacen, con la única finalidad de que la inteligencia del reCAPTCHA otorgue a su IP una puntuación alta y así poder pasar por el filtro en otros formularios web.
Las 3 estrategias que puedes usar para eliminar spam de formularios web
Recibir la visita de estos bots no es nada agradable, son muy pesados y a veces pueden llenarte la web o la bandeja de entrada de mensajes no deseados. Lleva bastante trabajo y tiempo controlar y eliminar las molestias que te pueden ocasionar.
Por suerte, hay una serie de estrategias que nos pueden ayudar mucho a controlar y casi eliminar este problema. Estas son las tres principales estrategias para eliminar el spam en los formularios de tu sitio web.
1 Hacer que quien envía el formulario se identifique como humano.
Para ello, se suele utilizar el reCAPTCHA v2 de Google. Seguramente lo has usado alguna vez, es la afirmación "no soy un robot" y al contestar, a veces, tienes que demostrar que eres humano para conseguir enviar el formulario. Esto es engorroso, lleva tiempo y no es tan robusto como uno puede pensar. Aún recuerdo ver un video de una mano robótica haciendo clic con un lápiz óptico sobre la casilla "no soy un robot" (por si no lo has visto, aquí puedes verlo).
Es una buena solución, en cuanto a neutralizar el tráfico de spam proveniente de bots pero no tan bueno de cara a la usabilidad y experiencia de usuario en tu web, así que no es una solución perfecta para eliminar spam de formularios web.
2 Usar la inteligencia artificial para vigilar el comportamiento en el sitio web de un usuario.
Esto se consigue, con el uso de reCAPTCHA v3 de Google. Se pretende atrapar a los bots que envian spam a través de los formularios web y a la vez minimizar las molestias al usuario humano del sitio web.
En lugar de mostrar un desafío tipo pregunta, reCAPTCHA v3 devuelve una puntuación para que puedas elegir la acción más adecuada para tu web.
Para ello ya no pregunta directamente si eres o no un robot, ahora te observa. Mide tus movimientos en el sitio web y te otorga una puntuación. Esta puntuación representa la probabilidad de que seas un robot o no. El dueño de cada web decide qué hacer con este tráfico y a partir de qué baremo tomamos acción. Por ejemplo, en el caso de que el algoritmo nos avise que la reseña escrita en un producto de tu web ha sido probablemente escrita por un bot de spam, podemos decidir enviar la reseña para que sea moderada por un administrador de la web antes de su publicación.
Cuando el usuario (humano o bot) ejecuta una acción en tu formulario puedes preguntar a reCAPTCHA v3, te devolverá una puntuación de entre 0.0 y 1.0.
La puntuación de 1.0 es alta probabilidad de una buena interacción y una puntuación de 0.0 es seguramente un bot. Ahora hay que decicir que hacemos. Esto depende de la acción que estemos valorando, hay diferentes baremos según la acción:
- formulario de contacto
- formlario de envío de una reseña a un producto
- formulario de autenticación a una zona privada
reCAPTCHA v3:
- Nunca interrumpirá a sus usuarios, por lo que puedes ejecutarlo cuando lo necesites y así no afectar la conversión en tu sitio web.
- Funciona mejor cuanto más contexto tiene sobre las interacciones con su página web. Este contexto lo consigue observando el comportamiento tanto legítimo como abusivo en la web. Por ello es recomendable incluir la verificación reCAPTCHA v3 en formularios o acciones, así como también tenerlo cargado en el resto de páginas de su web para que pueda efectuar su análisis.
Lo positivo de esta estrategia es que no interrumpe al usuario, pero lo negativo es que carga la página con más secuencias de comandos y no es tan efectivo como puede parecer. Al ser inteligencia artificial aprende y los creadores de bots ya han aprendido a engañar a esta inteligencia artificial. Así que es otra técnica medianamente efectiva para eliminar spam de los formularios.
3 Hacer que quien envía el formulario se identifique como un bot.
Esta estrategia es la contraria a la del punto 1 y es muy efectiva.
Se añade al formulario web un código que sólo puede "ver" el bot y no un humano. Una vez recibido el envío de los datos del formulario, puedes diferenciar si la información viene por parte de un usuario humano o de un bot analizando los datos recibidos. Una vez identificado el bot puedes elegir borrar el mensaje o enviarlo a moderación por parte de un administrador del sitio web.
También, es interesante crear un log (archivo de registro) de los bots que son atrapados para así analizar el tipo de mensajes que el bot está intentando enviar, qué formulario es el más atacado, etc. y así podemos tomar más medidas si fuera necesario.
Esta estrategia tiene la ventaja de que es invisible para el visitante a tu web, no se molesta al usuario humano. Esto es una gran ventaja para que tu web tenga éxito con tus clientes ya que mejora la usabilidad y experiencia de usuario en tu web. Puede ser una técnica muy efectiva para eliminar spam de formularios web.
Conclusiones sobre eliminar spam de formularios web
¿Cual estrategia utilizar? Esto depende del contexto del formulario que queremos proteger. Pero siempre hay que tener una estrategia para eliminar el spam de los formularios.
Hay unas prioridades innegociables que tenemos en cuenta cuando vamos a proteger un formulario en un sitio web:
- No perder información, en caso de duda el mensaje se almacena para una revisión posterior por un humano.
- Molestar lo mínimo posible al usuario del sitio web, interrumpir lo mínimo posible al usuario humano.
- Es preferible recibir algo de Spam que perder la comunicación con un cliente.
La mejor estrategia, es combinar alguna de las anteriores, sobre todo la 2 y la 3 que no interrumpen al humano durante el envío de datos a través del formulario.
Como todo en internet, los bots evolucionan y nosotros también para mantenerlos a raya. Así podremos evitar que molesten a nuestros clientes en internet.
Leyenda
Categorías: Diseño páginas web
Etiquetas: programación cyberseguridad