Control De Spam En Comentarios

Los comentarios spam (propagandas de sitios pornos, de venta de seguros, de juegos de azar, de venta de pastillas sin receta, etc.) en los weblogs se están volviendo un gran problema (al menos para los que usamos Movable Type). Se pierden los comentarios normales entre tanta basura, y/o se pierde mucho tiempo borrándolos.

Durante un tiempo fue suficiente la solución de MT-Blacklist, pero últimamente los sitios de los spammers están cambiando de dominio constantemente, por lo que la cantidad que pasa el filtro es demasiada. Entonces hace unos días me decidí a buscar soluciones alternativas/complementarias.

Tenía un par de ideas propias, pero para no reinventar la rueda me puse a buscar qué respuestas al tema había encontrado la comunidad weblogger. Encontré baterías de soluciones e interesantísimas discusiones.Empecé por aplicar la solución que menos afecta a la funcionalidad del sitio, que es renombrar el script de los comentarios, y eso solo redujo notablemente (80%?) la cantidad de spam que entraba, o que tenía que bloquear el MT-Blacklist (el Activity Log hoy muestra mucha menos... bueno, actividad). Pero evidentemente algún programita spammer ya estaba al tanto de esta posibilidad, y lograba pasar la barrera. Entonces, con todo lo leído y experimentado, traté de encarar el problema de forma más general:

Básicamente, el spam ataca donde el esfuerzo/costo por dejar una propaganda es inferior a la ganacia que da ese pequeñísimo porcetaje de salames que va a entrar al sitio publicitado. Por eso se ataca a Movable Type, que tiene una gran cantidad de usuarios, lo que significa que un programa spammer que funcione, funcionará en muchos sitios.

Lo ideal sería encontrar una fórmula que desequilibre esa ecuación, pero mientras tanto, lo que hay que buscar es una traba que haga más difícil el spamming en el sitio propio. Seguirán jodiendo en otros sitios, pero el nuestro se salvará por requerir más esfuerzo.

Hay distintos tipos de trabas, desde las que son internas al weblog y el visitante no percibe, hasta las que lo obligan a registrarse, posponen la aparición de sus comentarios, dificultan la participación de los usuarios con ciertas discapacidades (los captchas afectan a los chicatos, básicamente), etc. Apunto siempre a las alternativas del primer tipo.

Ahora, si una determinada traba se hace popular (MT-Blacklist), los spammers la tendrán en cuenta y los sitios que la implementaron vuelven a estar en la mira. Entonces cualquier solución que encuentre ya implementada por ahí, va a tener cierta pérdida de efectividad en el tiempo, a medida que se popularice.

Hay que ser original. Mi sugerencia es incluir una modificación en el weblog para que los comentarios incluyan el pedido de un dato adicional, el cual tenga una validación. En mi caso, Mató Tu Onda! se vuelve indiscreto y solicita la edad, algo que no necesita explicación para los usuarios no técnicos, y como se mantiene en las cookies, implica su ingreso una sola vez, un click en "No me olvides", y listo.

La implementación implica:
- La modificación de las funciones que guardan/recuperan las cookies.
- Modificación de los templates para incluir el nuevo campo.
- Modificación de Comments.pm (o MTBlPost.pm si se tiene instalado el MTBlacklist), con un código como el siguiente (a riesgo suyo, haga backup):

## COMIENZO HACK para controlar edad
## http://www.matotuonda.com.ar/archives/000771.php
my $edad = int($q->param('edad') || '');
if ($edad && $edad eq $q->param('edad')) {
    if ($edad handle_error($app->translate(
        "Por motivos de envidia, no se permiten comentarios de infantes tan precoces"));
    } elsif ($edad > 120) {
        return $app->handle_error($app->translate(
        "Por motivos de envidia, no se permiten comentarios de viejos tan longevos"));
    } else {
        ## Ok!
    }
} else {
    return $app->handle_error($app->translate(
    "Por favor especifique su edad"));
}
## FIN HACK para controlar edad

- Otras modificaciones para registrar el nuevo dato en la base, y poder mostrarlo en el weblog, lo cual aún NO hice, y no es indispensable para el efecto buscado.

Actualización 16/01/05 11:20

Luego de casi dos meses de uso, les aseguro que funciona. La evaluación hecha aquí se mantiene: se detuvieron prácticamente todos los intentos de spam, y hubo algunos falsos positivos de personas que no supieron poner la edad (?). La mayor ventaja es que es natural para el visitante ocasional que no sabe de blogs, spams, comments, ni nada.

Sí, pero igual siguen llegando desde ahí como si nada.

muy buena solución... ;)

Al igual que en MT, a los usuarios de Wordpress los spammers nos están volviendo locos. También hay soluciones como las quie mencionaste (cambiar de nombre el wp-comments-post.php; instalar captchas o el WP-Blacklist, requerir que los usuarios llenen un nuevo campo que el programa de los spammers no tenia previsto encontrar). Yo estoy testeando dos soluciones diferentes, una en cada uno de mis blogs. En una, estoy testeando una captcha desarrollada por un usuario español; por ahora he pasado de diez o doce mensajes spam por dia a cero, pero seguramente los spammers ya comenzaran a avivarse. En el otro, estoy usando un plugin que se llama Spaminator, y que al menos hasta ahora eliminó una enorme cantidad de spam sin molestar; si queres te avisa a tu mail, pero podes optar porque ni siquiera te avise. Hasta ahora tiene una efectividad excelente; pase de mas de 40 mensajes spam a apenas uno al dia. Igual hay que tener claro que cada tanto hay que cambiar de solucion antispam, porque los spammers siempre se estan adaptando a las soluciones que encontramos.

la primera vez que sufri la invasion me dieron ganas de cerrar el blog... mi casilla de email (por el aviso de los comentarios) con 5 mil mensajes para eliminar, me devasto... mi "padrino" de blog hizo eso que explico Jorge arriba, siguen apareciendo, pero de a 5 a 10, no mas... parece que no se acabara nunca... bienvenidas sean las soluciones

A mi se me había ocurrido (como esos verificadores gráficos que hay por todos lados) generarle un string brevísimo tipo de 4 caracteres pero con espacios variables, ej.: p E pE
y pedirle al comentarista que escriba lo que lee pero sin espacios. ¿Qué onda?

Y... no quedaría en las cookies, así que habría que escribirlo siempre. Medio hincha, no? Además la implementación la veo bastante complicada.

Ahora explico tu solución a los generadores de spam para que lo tengan en cuenta...

Just kidding ;)

En Korochi Industrias sólo recibí 4 mensajes de spam en total. ¿Tendrá que ver que en los posts no hay palabras en inglés?

Vos no te habías borrado de Google? Creo que tiene que ver más con eso, ya que dentro de MTO! no atacan a cualquier post, sino a los que tienen PageRank alto.

Yo he solucionado el spam de una forma muy sencilla, parecida a esta: http://neuromancer.dif.um.es/blog/?p=35

Espero que os sirva.
Saludos!
diego

Nunca he visto esos anuncios de venta de medicamentos sin receta. Podrias decirme alguna direccion? gracias!

Hola! yo nunca he visto uno de esos enlaces a webs q venden medicamentos sin receta y me interesaria mucho. puedes darme alguna direccion? Gracias

Eso de pedir la edad para evitar el spam es una solución muy ingeniosa, aunque casi siempre la mejor alternativa es generar una imagen y pedirle al usuario que la reconozca (textos con rayas, etc...), donde el costo/esfuerzo es demasiado alto.

Por cierto, se me ocurre que sería bueno inventar alguna alternativa con algún campo oculto, no los del tipo "hidden" sino algo que el usuario no pueda ver por alguna otra razón, y que el spammer intente llenar creyendo que debe ingresar el spam o el mail o algo allí. La validación consistiría en revisar que ese campo esté vacío.

Salu2!

buenísima la solución
yo me inclinaba por usar algún captcha pero en mt no vi ninguno claro, si los hay en wordpress (medida la claridad de acuerdo a mi chicatez, que es bastante) pero aún quedaría esto que vos decís que no hay forma de generar una cookie para un gráfico, entonces cada vez que uno comenta tiene que volver a tipear la clave que salga...
bueno, por suerte tenemos genios informáticos que nos dan una mano a todos
gracias por compartir la solución que encontraste

Es verdad que no se puede guardar el resultado de un captcha como cookie, pero una vez aprobado el usuario (es decir, si ingresó el captcha correcto) se le puede devolver un cookie específico que funcione como alternativa al captcha. El cookie lo podemos ir rotando, tipo semanalmente, y como mucho cada dos semanas tenés que pasar el captcha. Creo que andaría bien y no sería muy molesto.

Banzo, si no podes vencerlos, unite a ellos!
A propósito, a que no sabes quien te consigue valium y antidepresivos sin receta? Mamita! :)

YHFBJJKK

TRUCO DE JUEGOS

LA FHMB NMYU8ÑPPPP0````

hola les escribo desde bolivia. yo estuve en argentina y lo que mas recuerdo es la radio y no seria mala idea que la radio saliera por internet por que ... quiero escucharla de nuesvo por favor chaoooo y que viva la mescla

Aca esta la solucion. Una aplicacion gratis para esto. Todavia esta en una beta pero funciona muy bien con Outlook, Outlook express y eudora.
www.sendplus.com

la lucha contra el spam es algo inolvidable, encontre la solucion de 2 formas, una fue con el yoga y otra con

www.spamentosos.com.ar

y viva la vida loca.

Parece un poco inutil luchar contra los spam...son basura manejada por cucarachas y como en el mundo real hay miles, de muchos colores y tamaÑos, como vemos, en este mundo vitual tbn las hay.
Me parece bien que hayan maneras de disminuirlos en porcentaje pero internet asi como te da te quita.
Mientras haya weblog-s habra spams.
Que bueno poder disfrutar hoy de una radio, en casa tranquilo tomando unos mates, limpia de tanta contaminacion visual.

muy buena técnica

muy buena técnica

Muchas gracias

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.
Captcha Image: you will need to recognize the text in it.
Por favor copie las letras y los números que se muestran en la imagen.