B2evolution es una herramienta para bitácoras excelente y definitivamente me encanta usarlo. El software ha ido creciendo conmigo, de la misma manera que yo he ido creciendo como bitacorero o bloguero con el software.
Dicho esto, hace unas semanas decidí probar mis conocimientos de los aspectos internos de B2evolution y del lenguaje de programación PHP, escribiendo un Agregado (plugin) para combatir el spam que entra vía referencias (trackbacks), el temido y fastidioso sping. El agregado se llama DNS Trackback anti-spam plugin y lo pueden descargar usando el siguiente enlace:
DNS Anti-spam Plugin para B2evolution.
Continuación:
El problema es el verdaderamente fastidioso spam por referencias, el cual amenaza con ahcer inservible esa maravillosa herramienta que son las referencias estre bitácoras y que nos permite a los bitacoreros mantenernos en contacto y saber cuando alguien está hablando de lo que escribimos. Cualquier persona que tenga una bitácora habrá experimentado el fenómeno, así que no me voy a extender en la explicación.
B2evolution mantiene una base de datos centralizada, una lista negra, a la quze se agregan todos los dominios que los usuarios reportan como espameros. En el curso de la rutinaria tarea de reportar dichos dominios a la lista negra, algo que debía hacer diariamente unas 10 ó 15 veces, me di cuenta que todos los mensajes spams que me llegaban tenían una característica común: la dirección IP desde donde venía el mensaje era diferente a la dirección IP de la página a la que el mensaje hacía referencia. Se me ocurrió que esta podría ser una forma de identificar y rechazar las referencias spam que eran enviadas constantemente. La razón es que cada referencia debería ser enviada desde el mismo servidor que hospeda la página a la que se refiere. Por ejemplo, si en su bitácora usted recibe una referencia desde El Liberal Venezolano, el IP del tracbacks será 216.104.33.90.
Para los espameros tiene sentido enviar referencias desde un servidor distinto al que hospeda las páginas que ellos quieren promocionar, por la propia naturaleza del Spam. Los bastardos que espamean quieren producir cientos o miles de enlaces hacia sus páginas y así aumentar sus rankings en los buscadores. Si ellos usaran el mismo servidor para hospedar sus páginas y para enviar referencias por miles, me parece que esto sería un gran peso para dichos servidores. Es mejor entonces distribuir el efecto, quizás secuestrando servidores de incautos e incopetentes webmasters.
Inicialmente planteé la idea en el foro de discusión de b2evolution, a ver si alguien más diestro que yo se animaba a implementarla. Pero nadie lo hizo, así que decid'hacer la prueba yo mismo. Resultó ser que el sistema de agregados de b2evolution es más fácil de lo que pensaba.
El agregado simplemente revisa la dirección IP de cada referencia entrante —antes de ser grabada en la base de datos— y lo compara con la IP del sitio referido mediante una consulta DNS (de allí el nombre). Para ello se utiliza el hook o gancho BeforeTrackbackInsert
. Si estas dos direcciones IP son distintas, casi seguro que la referencia es un spam, así que es rechazada inmediatamente.
Hay varias situaciones en las que ambas direcciones IP pueden ser diferentes y aun tratarse de una referencia legítima. Hasta donde yo sé, los únicos casos son:
La versión del agregado que estoy publicando acá es la 0.2 y creo que toma en cuenta apropiadamente el caso (2) descrito arriba, pues implmenté la revisión de todas las direcciones IP retornadas por gethostbynamel(), en vez de la única retornada por la función gethostbyname(). Si Wordpress está enviando las referencias desde una dirección diferente a estas, igualmente serán rechazadas.
"plugins/"
de tu instalación de B2evolution, o alternativamente, desempácalo en tu PC y sube el contenido del directorio resultante al servidor./admin.php?ctrl=plugins
).¡Listo! Eso es todo. A partir de la instalación, te puedes olvidar del spam por referencias. Mi primera instalación la hice alrededor del 10 de julio pasado y desde entonces apenas he recibido un sólo spam por referencia, en el cual coincidían ambas direcciones IP. Anteriormente recibía de 5 a 10 spams diarios y a veces hasta quince. En días terribles podía recibir 30 o más. Era una pesadilla, hasa el punto que tenía que deshabilitar öas referencias totalmente.
Dicho lo anterior, debo aclarar que no tengo idea de cual será la carga extra en el servidor que este agregado podría producir, dadas las consultas DNS que se deben realizar por cada referencia entrante. En sitios con demasiado tráfico, me imagino que eso podría ser un problema. Yo tengo más de un mes usándolo, sin novedades en el frente.
En cualquier caso, si tu servidor se funde por culpa de este agregado, eres tú y solamente tú el responsable. Cada quien que recoja sus macundales.
Gracias a Balupton, por sus comentarios y ayuda probando y promocionando este pequeño software.
La traducción al inglés, de más o menos todo lo que dije arriba se encuentra aquí.
URL para Referencias (pinche con el botón derecho y copie la dirección del enlace)
Comentarios recientes