Hay temporadas en las que los spamers estan mas activos que otras, pero para esas épocas en las que nos machacan y nos llenan la base de datos de porqueria hay una gran herramienta que nos permite atajar el problema de raiz.
Akismet puede filtrar por ti y descartar o marcar como deshabilitados los registros de usuarios o los comentarios.
una clase util para php es:
https://github.com/pointybeard/akismet/blob/master/lib/akismet.curl.class.php
y la integracion no podria ser mas sencilla
<?php include 'ruta/akismet.curl.class.php'; // necesitamos registrarnos para obtener una clave de API $akismet = new akismet(API_KEY_AKISMET); /* este ejemplo seria para validar un registro, para un comentario hay que incluir en el array 'comment_author' => 'viagra-test-123', 'comment_author_url' => 'http://www.example.com/', 'comment_content' => 'This is a test comment', 'permalink' => 'http://yoursite.com/post.php?id=9999' */ $register_akismet = array( 'blog' => 'http://www.yourdomain.com', 'comment_type' => 'registration', 'user_agent' => $_SERVER['HTTP_USER_AGENT'], 'referrer' => $_SERVER['HTTP_REFERER'], 'comment_author_email' => 'test@example.com', 'user_ip' => ip_address(), ); if(!$akismet->error) { if($akismet->valid_key()) { echo 'La clave de Akismet es valida!'; }else{ echo 'algo paso con la clave de Akismet!'; } if($akismet->is_spam($register_akismet)) { $es_span=true; echo 'es Spam!'; die(); } else { $es_span=false; echo 'No es spam!'; die(); } } ?>