¡Foto!

¡Envia tu foto al Fotomaton!

Referer SPAM: Evitar bots y spammers

10 comentarios · Escrito el 28-Nov-2005 · 4.401 lecturas · blogs

Lo prometido es deuda, y hace algunos días comenté que estaba probando un sencillisimo, pero creo que de momento efectivo repelente de bots spammers, sobre todo los famosos referers spammers entre los que se incluyen clásicos como el texas holdem, casino cash y tantos otros.

no spam

Un referer (o referido también llamado en español) es un dato que cada visitante deja al ingresar en un sitio web, dónde muestra desde que sitio web ha llegado. Asi, por ejemplo, al buscar una palabra en Google y pinchar en el primer enlace, el referer del que estamos hablando sería la página de Google.

Conociendo el significado de los referers, nos imaginaremos lo que es el referer spam: publicidad que dejan algunos robots/spammers dejando sus webs como referer a diestro y siniestro. Esto se ha convertido en un verdadero quebradero de cabeza para muchos autores de páginas webs, los cuales sufren tres factores: reducción del ancho de banda consumido por estos parásitos, spam en forma de comentario o mensaje enviado por metodo POST y referers falseados en sistemas de estadísticas, trackers u otros.

Por la red se encuentra bastante información sobre el asunto. Puedo resaltar algunos como Claudio, que comenta una forma de bloquear spam con el Apache. Alex habla de evitar el referer spam en Movable Type y en barrapunto se hicieron eco del tema hace ya varios meses.

El inconveniente de usar métodos cómo modificar configuraciones de Apache, uso de iptables o similares es que la mayoría de los usuarios no tienen dominio sobre estos aspectos o no pueden hacer cambios en ellos. Sin embargo, si lo podrían hacer con otros sistemas como el lenguaje PHP, con las cualidades necesarias de ser sencillo para editar, tener permiso y bloquear a estas especies de sanguijuelas.

La instalación y configuración del script es de lo más sencilla. Lo primero es descargar el script proteccion.php.txt, renombrarlo a proteccion.php e incluirlo en nuestro sitio web. Finalmente lo llamamos desde nuestra página principal en la primera linea con un sencillo:

<?php include('proteccion.php'); ?>

La explicación del código es sencilla. Nos basamos en el uso de PHP como lenguaje y de las expresiones regulares como arma. La variable spammers se encarga de recoger los dominios de los parásitos mientras que la variable referer es la que se encarga de comparar más tarde si el visitante es o no un spammer:

  • Sencilla forma de ampliar la lista negra de parásitos.
  • Esta lista solo influye en el nombre de dominio y subdominio del spammer. Asi pues un visitante que acceda desde la siguiente página web: http://www.miblog.com/articulo/el-poker-en-casinos no será bloqueado.
  • Los dominios asignados sólo han sido .com y .net, ya que (al menos yo) de momento no he encontrado spammer desde otro.
  • Simplificación y rápidez gracias al uso de expresiones regulares.
  • Devuelve un código HTTP 404 error al visitante que es identificado como spammer. Esto es bastante interesante, ya que la mayoría de los bots hacen publicidad solo en los servidores que responden, eliminando a todos aquellos que devuelven un 404 error para no saturar su base de datos y no colapsar su sistema de peticiones sin sentido.

Esperemos que sirva de ayuda a mucha gente y podamos comentar todos los errores o modificaciones que pudieran hacer más interesante la protección.

Tags:


Tal día como hoy


10 Comentarios


Muy buen recurso Manz . Saludos!

Por Senet hace 3 años Internet Explorer / Windows XP

Por suerte y de momento no recuerdo haberme encontrado en tal caso pero ya he descargado el archivo para probarlo, nunca se sabe!!!

Por Averia hace 3 años Safari / Macintosh

El otro dia se me ocurrieron una idea acerca del antispam que has hecho:
por que no tener una lista común modificable por todos (estilo wiki)? de esa manera seria meterle un cron o algo por el estilo para que hiciese una copia a local cada cierto tiempo (para evitar que se estuviese consultando continuamente).
Si es estilo wiki, en caso de que algun spammer se borrase a si mismo, solo habria que hacer un rollback, y si acaso obligar a registrarse a la gente para poder modificarla.

Por Driadan hace 3 años Mozilla Firefox / Windows XP

No esta nada mal la idea Driadan, pero primero me gsutaría ver que tal funciona el sistema y que la gente lo pruebe o recibir más comentarios sobre él, para saber que tal funciona.

¡Gracias por la sugerencia!

Por Manz hace 3 años Mozilla Firefox / Windows XP

Buena onda por nombrar el artìculo.
Un sólo alcance con respecto a utilizar htaccess: si bien es un poco más complicado, tiene la gran gracia de no sobrecargar el servidor con procesos php. Por darte un ejemplo, con mi pobre Pentium III haciendo de servidor, a razón de una petición por segundo de spam, el bloqueo por PHP colapsaba absolutamente el sistema, en tanto que por Apache sòlo alcanzaba un 10% a 20% de uso de CPU. Además, no ocupa acceso a directo duro

Por Clbustos hace 2 años Internet Explorer / Windows XP

Los mejores sistemas antispam son los que el usuario no puede ver. Voy a probar este a ver como va :)

Por javier hace 2 años Mozilla Firefox / Windows XP

Es una lacra los "cialis, viagras, levitras' y demas basurilla. Me tenian algunos libros de visitas, forillos y sistemas de mensajess sin registros llenos de esos mensajes pero se me ocurrio poner un acceso mediante clave para publicar mensajes basado en la letra ñ, estos tio no tienen ñ en su teclado supongo y mano de santo. basicamente uso el siguiente script. http://www.webexperto.com/articulos/articulo.php?cod=83

Por PolloFrito hace 2 años Netscape / Windows XP

Bueno esto esta super bien por lo demas me gusta el articulo aunque yo uso captchaencriptado algo simple y facil bueno epro esta sueprme ste articulo chauuuuuuuu
x

Por tuadmin hace 2 años Mozilla Firefox / Windows XP

Hola me a encando el script, tengo dos consultas, hay alguna forma de poder ir actualizado los spamers, y la otra cuestion es la siguiente, estoy empezando con la prgramación en php y estoy trabajando con la funcion phpmailer, mi duda es saber si los spamers pueden ver el codigo php fuera del los tags html

Muchas gracias.

Por Jordi hace 1 año Mozilla Firefox / Macintosh

No, no me sirviò de ayuda para nada porque no encuentro detalles de procedimientos. espero que me expliques en el msn, Manz.

Por Diamante hace 1 año Internet Explorer / Windows XP

Deja tu comentario


Si no tienes fotografía o dibujo asociado a tu email, puedes elegir uno haciendo clic sobre la imagen o en este enlace.

Gravatar



Consejos


  • Los comentarios fuera del tema del artículo (OFF-Topic) serán eliminados. Se permiten temas ligeramente relacionados.
  • Escribir completamente en MAYUSCULAS en Internet equivale a GRITAR y está mal visto. Evitalo.
  • No utilices lenguaje SMS, en Emezeta no cobramos por letras escritas. Escribe correctamente.
  • No hagas publicidad dejando enlaces. En Emezeta se aplica el tag nofollow, que hace que Google ignore esos enlaces.
  • No insultes. Tus datos quedan almacenados y serás el único responsable de tus palabras. Se permite la libertad de expresión, pero no los comentarios groseros.
  • Cuando hagas una crítica, argumenta detalladamente tu opinión. Explicanos porque no estás de acuerdo, quizás los demás estemos equivocados.
  • Puedes insertar algunas etiquetas HTML en los comentarios: em, a href, b, i, em, code, acronym y strong.
  • Es posible añadir una foto junto a tus comentarios, para ello sólo tienes que personalizarla en Gravatar. [?]

Envía tu foto


Fotomatón Emezeta

Envia tu fotografía al fotomatón de Emezeta. Puedes enviar varias y saldrás en la portada de Emezeta.