Controllo spam sui commenti

Matteo - 2 ott 2006 22:44

Come già annunciato in un post di qualche settimana fa, questo sito ha un controllo sull'inserimento dei commenti ai post per evitare lo spam che chiede all'utente di inserire un codice di controllo solo nel caso in cui nel commento sia presente uno o più link.

Il controllo non è nulla di sofisticato ed è stato aggiunto in quattro e quattr'otto per arginare il flusso di spam improvviso verso questo sito.

Questo è il nucleo del check, effettuato in risposta al POST del form del commento, dopo aver già compiuto altri controlli sul testo (autore, testo o oggetto vuoto, ip bannati, ecc.). Il campo tc viene aggiunto al form solo se $md5check è definita. Notare che SECRET è una stringa costante che va personalizzata. $authenticated è ovviamente true se l'utente è loggato.

define('SECRET', 'secret');
define('URL_RE', "`((http)+(s)?:(//)|(www\.))((\w|\.|\-|_)+)".
"(/)?([^\s<]+)?`i");

if(!$authenticated && preg_match( URL_RE, $text )) {
$md5check = substr(md5(SECRET.$title.$text.$author.$ip_author), 0, 5);
if(!isset($_POST['tc']) || $md5check != $_POST['tc'])
{
$error = "È necessario inserire nel campo apposito ".
"il codice di conferma $md5check";
break;
}
}
 

aa

aa - 24 apr 2007 15:30

aa

ehe

Matteo - 24 apr 2007 20:52

non so se il commento sopra era per testare la stupidità del filtro… ma come detto la richiesta del codice di controllo avviene solo in alcuni casi :)
Weblog Koan Progetti Foto Contatti DW.net map