Luchando contra el spam en tu web

Publicada en WordPress.

Viernes por la tarde. Verano. Has acabado la jornada de trabajo tranquilamente mientras tus compañeros disfrutan de unas merecidas vacaciones. Tranquilo, en dos semanas te toca a ti. Todo ha ido bien durante el día, así que te dispones a cerrar el ordenador. ¿Qué puede ir mal? El lunes más…

Han pasado dos horas, vas a echarle un ojo a Internet, para pasar el rato. Abres el ordenador y te encuentras con más de 500 tickets de soporte. No te caes de la silla porque estás en el sofá de casa y es imposible. Pero el corazón te da un vuelco. ¡¿Qué narices ha pasado?! ¿Se ha roto todo y estás solo para solucionarlo? ¡Señor, ten piedad!

Más de 500 tickets de soporte en menos de dos horas. ¡QUEEEEEÉ!
Más de 500 tickets de soporte en menos de dos horas. ¡QUEEEEEÉ! Fuente: Giphy.

Te recompones y te dices a ti mismo: not on my watch! Es hora de averiguar qué está pasando y solucionarlo. Afortunadamente, el patrón es fácil de encontrar. Todos los tickets que han entrado hasta ahora son desde la misma cuenta de correo electrónico (que no voy a mencionar aquí para darle cancha). Tiene que ser un bot, ¡hay que bloquearlo!

Afortunadamente, el sistema de tickets que utilizamos me permite marcar al contacto como spam (de hecho, deberían haberlo detectado ellos mismos, pero vaya, no siempre podemos tener suerte). Lo hago y automáticamente paramos de recibir nuevos tickets de soporte. Pero, ¿cómo ha sucedido todo esto?

Pues bien, la respuesta está en WordPress. En nuestra web en WordPress, de hecho, y en un par de formularios de contacto cuyo envío está redirigido al sistema de tickets de soporte anterior. Ahí empezó el problema, en ese par de formularios que, desafortunadamente, no tenían ningún control para evitar el envío masivo de spam. Eran los únicos de la web que no lo tenían…

¡Malditos spammers!

¡Malditos spammers! ¡Qué susto me habéis dado!
¡Malditos spammers! ¡Qué susto me habéis dado! Fuente: Giphy.

Por suerte, no era tan grave la cosa. Hemos aprendido la lección y hemos tenido suerte. No volverá a pasar. Esto es lo que hacemos en nuestra web para evitar el spam, así tú también puedes hacer lo mismo y evitarlo.

Acabar con los bots en los formularios de contacto

Todo este problema que te he explicado aquí ha sucedido porque no teníamos ningún tipo de protección hacia ataques de envío masivo de formularios en dos de los 14 formularios que tenemos en la web. Ya es mala suerte, pero si dejas la puerta abierta, los spammers lo aprovechan.

De no haberme dado cuenta de esto, seguramente el lunes hubiera tenido cientos de miles de tickets de soporte esperando y todo hubiera sido peor. Por suerte, esto no pasó y el problema no fue tan grande como hubiera podido ser.

Para los formularios de contacto de nuestra web utilizamos el plugin Contact Form 7. Contact Form 7 en sus últimas versiones ya añade la posibilidad de utilizar captchas en los formularios. Pero la verdad es que odiamos a los captchas. Cada vez que Google me pide que escoja imágenes en las que salen señales de tráfico, taxis, autobuses o escaparates de tiendas, después de haberle dicho que no soy un robot, mi confianza en todo esto es un poquito peor.

¡A ver, Google, que no soy un robot!
¡A ver, Google, que no soy un robot! Fuente: Giphy.

Para evitar poner captchas en los formularios de nuestra web utilizamos el plugin Contact Form 7 Honeypot. Este plugin extiende Contact Form 7 para incluir honeypots en el formulario. Un honeypot no es más que un campo oculto en el formulario que, si se rellena, evita que el formulario se envíe.

Cómo la mayoría de bots son idiotas (por lo menos en 2018), cuando proceden a rellenar los campos de un formulario los rellenan todos. Así que de esta forma tan sencilla evitamos el envío de formularios por parte de los bots. De ahí el nombre de honeypot (tarro de miel), ya que los bots se quedan enganchados al tocar esta «miel digital». Como los usuarios no ven el campo honeypot del formulario, no lo rellenan y se envía correctamente.

Un honeypot te puede salvar de ataques de spam en tus formularios a través de bots.
Un honeypot te puede salvar de ataques de spam en tus formularios a través de bots. El plugin Contact Form 7 Honeypot hace su trabajo realmente bien.

Solamente añadiendo un campo honeypot en los formularios de Contact Form 7 ya te evitas la mayoría de spam que recibes a través de formularios de contacto en WordPress.

Eliminar los comentarios de spam en tu blog

Si tienes un blog, tendrás abiertos los comentarios. ¿A quién no le gusta recibir feedback de sus lectores sobre los contenidos que uno escribe? Pues eso, que por culpa de esto muchas veces nos llegan miles de comentarios de spam. Por suerte, Akismet es un plugin gratuito que funciona muy bien detectando el spam en los comentarios y bloqueando a este tipo de spammers.

Akismet nos ha ayudado mucho en la lucha contra el spam en nuestra web.
Akismet nos ha ayudado mucho en la lucha contra el spam en nuestra web.

De hecho, Akismet me dice que ha protegido nuestra web de 100 mil comentarios de spam hasta ahora. No está mal, ¿verdad?

Si lo activas en tu WordPress puedes ir a la sección de comentarios y verás un apartado con los comentarios de spam. Puedes revisarlos, si quieres, y borrarlos del tirón para que no ocupen espacio en tu base de datos.

Evitar el registro de usuarios malintencionados

En nuestra web no tenemos habilitado el registro de usuarios. Por lo que es técnicamente imposible que se nos creen usuarios spam. Pero también te diré que en los orígenes de Nelio, hace ya unos añitos cuando nos dedicábamos a las migraciones de webs a WordPress, tuve la oportunidad de migrar bases de datos de webs con miles de usuarios.

Tristemente, la mayoría de webs de clientes que nos llegaron en aquella época estaban plagadas de usuarios spam. Hasta el punto de que tener cientos de miles de usuarios basura. ¡Una brutalidad! Y no creo que la tendencia haya cambiado hoy en día, la verdad.

Hola, vengo a registrarme a tu web.
Hola, vengo a registrarme a tu web. Soy un usuario súper normal… Fuente: Giphy.

Si tienes abierto el registro de usuarios en tu web, deberías echarle un ojo ya que de lo contrario es muy fácil que tengas miles de usuarios registrados que en realidad no son usuarios reales. Y ya puestos, elimínalos antes de que sea demasiado tarde.

Ahora a lo que vamos: cómo evitar que estos usuarios se acaben registrando en tu web. Pues te diré que hay varias formas. Aquí te dejo las más habituales:

  • Akismet: otra vez, este plugin puede salvarte al detectar registros de usuarios spam. ¡Tenlo activo!
  • Verifica el correo electrónico de los nuevos registros de usuarios. Con este plugin puedes hacerlo. La mayoría de bots no confirmarán el correo y evitarás que se registren.
  • Añade un captcha en el formulario de registro de usuarios. Sí, ya sé que me he quejado de los captchas, pero si te están dando la lata mucho los spammers, mejor hazlo. Con All-in-one Security puedes añadirlo.
  • Cambia la URL por defecto de WordPress para registrar nuevos usuarios. Aquí tienes más información.

Resumen final

Ni en aquellos momentos en los que parece que no debería pasar nada raro o fuera de lo común debes bajar la guardia en Internet. Si algo puede ir mal, irá mal, tal y como nuestro amigo Murphy predijo. Es por esto que debes estar preparado y cuidar tu web para que tenga unos mínimos suficientes para evitar el tan molesto spam.

Lo quieras o no, cuando tienes una web en Internet, ya sea en WordPress o en cualquier otro sistema, estás expuesto al spam. Es imposible evitarlo al 100%, pero está claro que con los consejos que hemos visto hoy es muy posible que lo consigas reducir a la mínima expresión. En cuanto tu web tenga cierto tráfico serás objetivo de los spammers, así que mejor estar preparado que encontrarse el problema más tarde.

Por suerte, WordPress y su ecosistema de plugins te proporcionan unas herramientas perfectas para estar listo en la batalla contra el spam. Esta es una batalla que sí puedes ganar. ¡A las armas los plugins!

Imagen destacada de Scott Van Hoy en Unsplash.

FlojaNo está malBienMuy bien¡Impecable! (2 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

No publicaremos tu correo electrónico. Los campos obligatorios están marcados con: •

He leído y acepto la Política de privacidad de Nelio Software

Al marcar la casilla de aceptación estás dando tu legítimo consentimiento para que tu información personal se almacene en SiteGround y sea usada por Nelio Software con el propósito único de publicar aquí este comentario. Contáctanos para corregir, limitar, eliminar o acceder a tu información.