Tag Archives: Blog

Inactividad desactivada

La inactividad sólo apetece cuando tenemos demasiado que hacer.

Noel Coward (1899-1973)

Y cuando somos unos putos vagos. Eso también puede afectar.

Después de par de meses de dejar de escribir tontadas, de nuevo me entran ganas. Que el FSM nos pille confesados.

Adios definitivo al spam en el blog

Últimamente el spam en el blog se estaba convirtiendo en algo alarmante. Se estaba incrementando de una forma continua y llegaba ya a tener 1000 al día (algo así como 2500% de las visitas). Akismet hacía su labor decentemente, pero siempre hay alguno que se colaba, y si eso lo vamos multiplicando por los días al final llega a convertirse en una pesadilla. Alguna solución había que poner.

La mayoría del spam, 90%, venía por trackbacks. Dado que no son, IMHO, algo muy útil, he decidido desactivarlos. Con esto iba a solucionar la mayor parte del problema (90% :D), pero si nos ponemos, ¡nos ponemos!. Queda eliminar todos los malditos bot comentaristas.

El principal problema en la lucha contra el spam, es que es una continua batalla entre los spammers y el resto del mundo. Si se comienza a utilizar la táctica ‘x’, los spammers pensarán en sobrepasar esa barrera en concreto, en definitiva, es mucho más fácil atacar (spammer) que ser atacado. Típico ejemplo sería de cómo empezaron los correos vendiéndote viagra con imágenes, hasta entonces los típicos filtros eran bayesianos analizando las palabras (e.g. si contiene la palabra “viagra”, ¡chungo!). Una imagen no la puedes procesar como texto (al menos en tiempo computacional factible como para gestionar miles de correos por segundo) por lo que se puede solucionar aplicando funciones hash a las imágenes, para identificarlas. Entonces una forma de saltar esto es usando imágenes ligeramente modificadas (un simple pixel es suficiente) que produciría diferente resultado al aplicar la función hash. Vamos, típico juego del gato y el ratón…

Por otro lado, si tratas una simple batalla contra el spam (por ejemplo este blog) es mucho más sencillo ganarla (que la guerra) pues puedes aplicar soluciones particulares al problema, por lo que garantizas tu victoria, ves que bien. Mi simple, pero efectiva, solución es forzar que los comentarios sean enviados desde un navegador con javascript activado, insertando un campo oculto en el formulario que será rellenado con un valor fijo mediante javascript al finalizar la carga de la página. Este valor se comprobará en el lado del servidor que existe, sino es el caso, rechazar comentario.

Algo así como añadir esto a la parte de los comentarios de tu theme (jQuery lo tengo debido a otros plugin de wordpress):

<input type="hidden" id="fuck" name="yeah" value="spam" />
(...)
<script>
jQuery(document).ready(function() {
      jQuery('#fuck').val('42');
}
</script>

Y esto en las primeras líneas de wp-comments-post.php de la carpeta raiz:

if($_POST['yeah'] !== '42')
    wp_die( __('U re a frakking spam bot') );

Desde que he puesto esta solución, mi contador de spam no se ha movido del 0. ¡Y que siga así! Por si alguno lo está pensando, el planteamiento todavía más simple de no usar javascript para rellenar el campo oculto (ponerlo fijo), lo probé y redujo la cifra de spam en cierta medida, pero no del todo. También se podría rellenar el campo usando javascript “simple” (sin jQuery) pero es algo bastante más sencillo de saltarse. Al usar jQuery (librería de terceros) fuerzas a que el bot que quiera spamearte a descargar javascripts de terceros, algo que puede resultar costoso para un bot (y que hasta ahora, parece que no hacen).