Técnicas de anti-spam con PHP

spam.pngEl spam se ha convertido en uno de los mayores problemas con los que nos podemos enfrentar a la hora de desarrollar una aplicación web. Si estás en el proceso de creación de una aplicación, te va a venir bastante bien la lectura de los artículos que os pasamos a continuación y de los que hacemos un pequeño resumen.

Las técnicas para luchar contra el spam se pueden dividir en dos:

  • Proteger a la gente que participa en tu web de sufrir spam.
  • Proteger a la propia web del spam.

Si permites que los usuarios puedan participar en tu web, también deberás tener en cuenta que si su dirección de correo electrónico se hace pública puede ser usada para el envio masivo de spam. Al igual, si pones una dirección de email para que contacten contigo, también puedes ser víctima de todos estos mensajes.

Para evitar que los spammers usen tu e-mail, podemos usar varias técnicas:

  • Ofuscación: sustituir los caracteres de la dirección de correo electrónico por sus respectivos hexadecimales.
<a href="mailto:%61%6e%74%69%73%70%61%6d%40%65%78%61%6d%70%6c%65%2e%63%6f%6d">
&#x61;&#x6e;&#x74;&#x69;&#x73;&#x70;&#x61;&#x6d;  <!-- antispam -->
&#x40; <!-- @ -->
&#x65;&#x78;&#x61;&#x6d;&#x70;&#x6c;&#x65;        <!-- example -->
&#x2e; <!-- . -->
&#x63;&#x6f;&#x6d; <!-- com -->
</a>
  • Reescribir: Tan sencillo como cambiar antispam@example.com por antispam [ARROBA] example [PUNTO] com.
  • Uso de imágenes: sustituir la dirección de correo electrónico por una imagen que muestre el mismo texto, ya sea mediante una imagen estática o una dinámica creada mediante PHP.
  • Uso de formularios: aunque no te evita del todo el spam, si no muestras tu email y usas un formulario en su lugar, conseguirás que te llegue menos spam.

Lo siguiente a tener en cuenta es evitar que nuestra web sufra spam, para ello disponemos de tres técnicas:

  • CAPTCHA: se trata de mostrar una imagen con un texto distorsionado para que los programa de reconocimiento de caracteres no puedan leerlo, y que así solo sea una persona quien lo lea y escriba su contenido en un campo del formulario. Esta técnica es muy buena, salvo que en ocasiones hay spammers que ofrecen contenido tipo pornografía o cracks a cambio de que el usuario se registre en una de estas web, y así saltarse esta técnica.
  • Moderadores: se trata de que personas aprueben el contenido de los mensajes antes de que sean publicados.
  • Filtros: tener filtros de palabras no permitidas, así como direcciones IP o números de enlaces posibles que identifiquen los mensajes como posibles spam.
  • Validación de email: se envia un email con una url que valida y finaliza el proceso de inscripción.

Anti-spam techniques in PHP, Part 1

Anti-spam techniques in PHP, Part 2

Vía / Good PHP Tutorials