El SPAM cada vez se vuelve más “listo”. Correos, comentarios en blogs, redes sociales, buzón de casa, el cristal de mi coche y ahora también en las analíticas de Google.
Hay mucha información sobre ello en la red, pero si os interesa aprender un poco más, echadle un vistazo a este post de @laux_es que lo explica bastante bien y es en el que me he basado para poder hacer lo mismo pero en Apache.
La alarma saltó después de comprobar una subida en el consumo del servidor. Comprobando las analíticas vi que la mayoría de los sitios que habían subido, lo hacian de la misma forma, referencias. “Blanco y en botella”, estaba sufriendo un “caso agudo de spammierditis” (creo que voy a tener que ver menos a Ned Flanders) y había que ponerle remedio. Lo primero deberían ser los filtros de las propias análiticas y evitar las peticiones a nivel de servidor.
La opción más sencilla es a traves de .htacces
RewriteEngine On\ RewriteCond %{HTTP_REFERER} ^http(s)?://(www.)?.*4webmasters.org.*$ [NC,OR]
.
… y todo el listado de webs chungas
El problema con este sistema, es que al usar principalmente Drupal en los desarrollos, tocaría cada vez que hay una actualización del core, tener que modificar manualmente esos .htaccess. No es muy óptimo la verdad.
Así que he optado por una solución en el httpd.conf con la técnica de Deflector.
Para ello he creado un deflector.map con el listado de esas “dudosas” referencias que por desgracia me imagino que crecerá y las he llamado en cada uno de los VirtualHost que tenemos en el server:
RewriteMap deflector “txt:/path/to/deflector.map”
RewriteCond “%{HTTP_REFERER}” !=””\ RewriteCond “${deflector:%{HTTP_REFERER}}” “=-”\ RewriteRule “^” “%{HTTP_REFERER}” [R,L]
RewriteCond “%{HTTP_REFERER}” !=””\ RewriteCond “${deflector:%{HTTP_REFERER}|NOT-FOUND}” “!=NOT-FOUND”\ RewriteRule “^” “${deflector:%{HTTP_REFERER}}” [R,L]
De esta forma tengo un único archivo común a todos los sitios y que podrá ir creciendo en el futuro sin necesidad de ir “tocando” uno a uno cada sitio.
Post anterior:
Feliz Año nuevo
Post siguiente
Y ahora qué, o por qué tener 40 no es únicamente de fiebre