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
- 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=""/>
- 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>
- 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 }
- ¿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']);