Tutorial de como bloquear el Spam en tu sitio sin usar captcha

@ 05 . diciembre . 2007

Spam con queso en lata

No sólo los blogs sufrimos con el SPAM, muchas páginas webs normales que tienen un simple formulario de contacto entre sus páginas pueden llegar a recibir 50 emails de SPAM al día.

Yo uso un plugin Math Comment Spam Protection, el que pide el resultado de una suma, lo cual se me hace fácil y poco molesto para todo el mundo. Tuve que implementar esto ya que el SPAM me atacaba como moscas atacan a Cristian Castro.

Odio con todo el alma a los códigos captcha, es molesto por ejemplo para enviar un simple SMS o dejar un comentario tener que typear códigos del tipo AW47UYeR, para eso ya perdí 30 segundos, además que a veces los ponen con líneas y letras deformes que al final ya no entiendes nada.

Si bien para blogs de WordPress hay muy buenos plugins como el que uso, y además estamos protegidos por Akismet, para páginas que no cuentan con estas cosas, páginas de empresas o personales, hay otra solución simple, rápida, y efectiva :)

En freecodesnippet encuentro una manera de engañar a los bots de SPAM sin usar plugins o similares, esto se puede aplicar en todo tipo de páginas web y si gustas también con blogs.

Traduzco el tutorial de inglés a español:

Engañar a los bots de SPAM sin usar captcha

Este artículo esta basado en el simple hecho que los bots de Spam son tan tontos que ellos generalmente ponen a sus creadores en la mera vergüenza.

Concepto:

Para las personas que no conocen este truco, aquí estan los pasos

  1. Añades un campo de texto extra en tu formulario, con un nombre falso pero atractivo, por ejemplo “URL”.
    <input name="url" type="text" value=""/>
  2. Escondes este campo de texto usando CSS para que los usuarios genuinos no lo vean en sus navegadores. Será solo visible para lso que vean la página sin estilo (sin CSS), para los tontos bots.
    <style>
    .style1 {
    display: none;
    }
    </style>
    <p class="style1"><input name="url" type="text" value=""/></p>
  3. Cuando se procese un nuevo comentario en tu formulario simplemente verificas si el campo de texto invisible que pusiste tienen algún dato. Si lo tiene, significa que se trata de un bot de sPAM o un usuario muy curioso que vió tu página sin estilos. Entonces procedes a elimiar dicho comentario o a llevarlo a moderación
    if (strlen(trim($_POST['url'])) > 0){
     //It is a spam, reject this post here
    }
  4. ¿No entiendes como esto funciona? Bueno, esto funciona porque simplemente las personas que te visitan no podrán ver ese campo extra, por lo que lo dejaran vacío, mientras que los robots lo harán.

Aplicando esto en WordPress

El autor asevera que en su propio blog de WordPress usó este método y no ha recibido ningún mensaje de SPAM, siendo que antes recibía bastantes.

Indica que sólo hay que aumentar este código en el lado del servidor (wp-comments-post.php):

if (strlen(trim($_POST['url'])) > 0){
do_action('comment_closed', $comment_post_ID);
wp_die( __('Sorry, comments are closed for this item.') );
}

$comment_author = trim(strip_tags($_POST['author']));
$comment_author_email = trim($_POST['email']);
$comment_author_url = trim($_POST['plugin9']);
$comment_content = trim($_POST['comment']);

Autor del post: DanielSemper: @aeromental + Facebook

  • Gerardo

    Yo quiero un tutorial para colocar tus contactos del msn Live a Gmail, por favor, ponlo pronto, saludos! :cool:

  • joup

    :hola: Buen dato!

  • Bleend

    Creo que lo leí en el blog de aoyama :mmm:

  • fael

    para la versión anterior de therror lo apliqué. funcionó bien unos meses, luego no sé cómo se dieron cuenta de esto y ya dejaban el campo vacío.
    triste pero cierto

  • Hugo

    Acabo de implementar la solución en un par de mis sitios (sin WP, están hechos a mano). Espero que sea eficaz, seguro al menos es ingeniosa. Gracias.

  • Martin

    Hola, no estoy muy de acuerdo con este método. Poner un campo que por css se le obliga a hacer display:none es un error de accesibilidad enorme, puesto que no es un “usuario curioso” quien mira una web sin estilos… y entonces, al ver la web sin css y ver tu campo oculto, lo rellenará y según tu método será considerado un spammer. Saludos!

  • Yo soy amor

    Quiero compartir con vos mis deseos:

    Deseo que seas dichoso material y espiritualmente.
    Deseo que el Reino de Dios o como le llames, se manifieste en tu vida y tu mundo, ahora y eternamente.
    Deseo que tu paz interna sea manifestada en tu vida.
    Deseo que seas alegre eternamente.
    Deseo que compartas tu luz eternamente.
    Deseo que el amor se apodere de tu ser eternamente.
    Deseo que tu energia sexual se eleve y se transforme en amor.
    Deseo que se cumplan todos tus sueños hermosos.
    Deseo que la negatividad, se aleje de tu ser.
    Deseo que tengas hermosos deseos hacia vos mismo y tu exterior.
    Deseo que tu creatividad, sea ilimitada.
    Deseo que tengas vida eterna llena de amor y dicha.
    Deseo que conozcas y disfrutes las maravillas de la naturaleza (Bora Bora, caribe, Asia y todo el hermoso Planeta Tierra y el Universo)
    Deseo que te ilumines espiritual y físicamente.
    Deseo que cantes perfecto, eternamente y transmitas amor, felicidad y belleza.
    Deseo que trabajes de lo que te apasiona y te da felicidad.
    Deseo que tu aura sea de luz blanca eternamente.