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;
}
}
Ultimi commenti