Tabla de Contenidos
Todo el que tiene un formulario web (por ejemplo, contáctenos, comentarios, solicitar una cita, etc) en su página web tiene que lidiar con el problema de las comunicaciones de mensajes spam. El flujo interminable de correo no deseado en su bandeja de entrada es un tema que puede ser tratado a través de diferentes métodos, cada uno con sus pros y sus contras.
Los spammers realizan su «negocio» con el uso de computadoras, utilizando «bots» que entán en busca de formularios web para enviar miles de presentaciones de «anuncios» de sus productos. Los correos basura más comunes suelen incluir dichas mercancías dudosas como por ejemplo la Viagra y otros fármacos, todos estos sin una receta médica, la participación en sorteos de millones de euros, un título universitario en menos de una semana, o el acceso a la cuenta bancaria de un príncipe nigeriano. Entonces, ¿cómo eliminar este molesto spam de nuestra bandeja de entrada cada vez que intentan entrar?
🔐 Incluir un sistema CAPTCHA
CAPTCHA es un texto que contiene la imagen que el usuario debe leer e introducir para desbloquear el envío de formularios web. Se evita envíos de bots spam porque tienen dificultades para comprender la imagen borrosa. Nuestro cerebro por otro lado, está programado para reconocer los patrones que vienen de forma natural hacia nuestra mente.
Este método suele ser muy eficaz en el filtrado de spam, sin embargo las desventajas podrían superan las ventajas. El método CAPTCHA de puede ser difícil de instalar y a veces las imágenes son demasiado retorcidas incluso para nuestro cerebro. Esto puede conducir a la frustración del usuario y un menor número de envíos de formularios.
✍️ Añadir código CSS
El método de incluir CSS es también muy popular y fácil de realizar. Cuando creamos el formulario o modificamos uno existente, podemos añadir campos ficticios que son invisibles para cualquiera que vea la página. Los bots de búsqueda generalmente no analizan toda la página y el código subyacente, sino que por lo general sólo se centran en el propio formulario.
Sin darse cuenta de que los campos con los valores de entrada son invisibles para estos. Esto expone a los bots por lo que son en realidad y filtra sus envios. Los pros de este método son su fácil aplicación y eficacia. Las desventajas son mínimas, sólo un poco de trabajo de codificación HTML extra, pero en general el método ocupa un lugar destacado y es un buen sistema de filtrado de spam.
⏱️ Programar un tiempo determinado
La presentación de una duración de tiempo podría ser el método más fácil de implementar. El mecanismo de este método de lucha contra el correo no deseado es muy simple. Cuando se abre un formulario web, este marca un determinado tiempo. Luego comparamos este tiempo con el tiempo que el formulario necesita para ser enviado realmente. Digamos por ejemplo que se necesitan al menos 15 segundos para completar los campos y envíar el formulario. Si la diferencia es menor que eso se puede filtrar el envío ya que seguramente será un bot.
A veces no hay ninguna indicación de la hora de apertura del formulario porque los robots no tienen ni siquiera que abrir el formulario, ya que en su lugar sólo hacen un envío de datos directamente. También podemos colocar una restricción del tiempo puede llevar para enviar un formulario. Si la diferencia es de miles de segundos, puede ser que sea un bot este intentando entrar por fuerza bruta, ya que es difícil explicar por qué lleva días para enviar un formulario, a menos que el formulario tenga cientos de campos y alguien se quedó dormido en la mitad del camino.
🆗 Conclusión
Hay muchos otros métodos o combinaciones que los anteriormente citados. Algunos de estos otros métodos puede suponer todo un reto de implementar. Antes de dirigirnos hacia las aguas más profundas, busca siempre los métodos 2 y 3. Si no se arregla con estos los problemas de spam, intenta implementar el método 1. En general, si tu sitio web no está recibiendo miles de visitas diarias con una de estas soluciones simples debería ser suficiente para acabar con el spam.
Los sitios que reciben más tráfico y la atención de los hackers por lo general tienen que probar las implementaciones más complejas. Los hackers personalizan su código propio para los sitios más concurridos y encontrar las lagunas. Los sitios comunes de un tráfico regular son atacados con código genérico que se dirige a millones de sitios. Este código genérico está optimizado para hacer la mayor cantidad de presentaciones en el menor tiempo posible, por lo tanto, esos ataques se detienen fácilmente.
Emilia dice
No me sirve, primero porque los comentarios (más de 20.000) no los tengo en spam, segundo solo puedo mandar a spam 200, y a continuación ir a spam y eliminarlos, si mándo a spam más de 200 se me bloquea, dice que el servidor no lo soporta.
Ruben dice
Hola Pedro googleando consegui tu sitio y estoy siguiendo los consejos contra spambot
Armé un nuevo formulario esta vez en html y php.
Encubrí un casillero de formulario para no ser leido por visitantes humanos, pero si por bots
de esta manera, si lo completan, el formulario se cae.
En el nuevo formulario html-y php introduje nombres en sus paginas que no tengan nada que ver con las palabras «formulario.html, contacto.php, gracias.html» para al menos no indicar que se relacionan con formularios.
La pregunta es la siguiente: ¿Que hago con las paginas del antiguo formulario atacado por los bots ¿Las dejo intactas para que sigan acandolas, las saco, las dejo sin los botones de enviar?
Gracias
Juan dice
Hola Ruben,
Como indica el artículo, una de las opciones es utilizar captchas, esto evitará que los spambots envien en los formularios automaticamente, y es mi opción preferida.
Con respecto a cambiar a los nombres a las páginas, y si te entendido bien, me temo que no será suficiente, los spambots analizan el contenido de las páginas y buscan las etiquetas html
David dice
Buenos dias, en mi web, tengo recaptcha y los campos invisibles en CSS, pero me siguen llegando. Puede ser que no sean bots? Aunque realmente el tiempo que tardan el enviarlos en muy poco.
Pedro Mendez dice
Hola David,
Con las medidas que has tomado es difícil que llegue span, pero nunca se sabe. Prueba a aumentar las medidas de seguridad y a realizar algún cambio, a ver si observas que siguen llegando o paran de llegar. Saludos
gracias por la info, estamos teniendo muchos problemas en nuestra web, y vamos a ver si con lo del CSS puede ayudarnos
´Buenos días. indican que se puede hacer con código CSS pero no indican cuál es, podrían facilitarlo? gracias
Hola Maria. El código CSS depende del tipo de formulario que vas a incluir, no hay un código exacto universal. Saludos!
Muy interesante tu artículo. voy a ponerlo en practica en mi web de tematica zombie forozombies. La tenia algo descuidada, mientras ganaba antiguedad y autoridad, e iba subiendos en las serps, y por dejadez, me han inundado miles de comentarios y usuarios spam… un verdadero dolor de cabeza si hay que borrarlos de 20 en 20, ya de 200 en 200 serían más de 25
operaciones… Uno siempre confia en encontrar la informacion adecuada en google sobre las necesidades que se presenten con wordpress, pero me alegra mucho qe tu web, aunque no tenga una autoridad media, ha salido 1ª en mi busqueda. No solo los portales grandes hacen la web, portales como el tuyo, tambien la hacen psible, y por eso llegará a ser grande tambien.
Gracias por la info, enormemete util!!!
Gracias! Me alegro de que te sirva. Saludos
Muchas gracias me a servido de mucha ayuda tu post
Todos los métodos que sugieres son buenos, pero tienen desventajas.
1.- El recaptcha de google muchas veces es tedioso y en ciertos dispositivos se bugea lo que genera perdida de leads.
2.- El campo oculto con css funciona pero también afecta a los leads ya que los plugins de autocompletado muchas veces llenan ese campo y hace imposible completar el formulario.
3.- El programar un tiempo para volver a enviar sinceramente no funciona, los bots no hacen ataques tan frecuentes ya que muchos sitios simplemente se caerían y ese no es el objetivo de la mayoría de los bots, en su mayoría son con fines publicitarios.
Lo que a mi me ha funcionado es una combinación de 2 métodos, creo un campo oculto con css, si este es llenado muestro una suma entre 2 números de 1 dígito generados aleatoriamente y hago la comprobación al hacer el envió, osea del lado del servidor, si la comprobación es correcta envió el formulario.
Gracias Daniel por mostrarnos tu experiencia. Seguro que muchos los agradecerán.
Saludos
Hola. Yo uso recaptcha y también un código que me permite hacer una lista de bloqueo para correos. Me gustaría saber como puedo hacer para evitar que me envíen información con correos falsos o inexistentes en el formulario como por ejemplo *@gimail.com o *@jotmail.com etc. Para bloquearlos tendria que hacer una lista de force y eso es casi infinito. Existe alguna herramienta para esot como algún plugin? Saludos
Hola,
Utilizas un plugin para el formulario?
Hola! a mi me llega spam del famoso henrybus todos los dias desde el formulario de contacto el cual tiene recaptcha. ahora siguiendo los consejos q lei de ustedes le coloque el campo invisible. En los proximos dias les cuento si se me soluciono. Gracias
Buenas,
Ok, estaremos esperando si has podido solucionar el problema con ese método.
Saludos!
Buenas, genial todo lo que he leído, ya he instalado en el formulario de contacto el recaptcha v3 y de un plumazo he eliminado todo el spam que recibía diariamente…. más de 20 correos, se dice bien y no sólo eso, también los intentos de hackeo han bajado considerablemente. Mil gracias por la información