Limitare la lunghezza dei commenti – antispam

Una delle ultime tendenze dello spam che arriva a questo blog è quella di inserire commenti dalla lunghezza spropositata, il cui testo (in inglese ma non solo) è generalmente tratto da improbabili romanzi opportunamente “inquinati” da parole chiave indesiderate.

Anche se questi messaggi vengono automaticamente bloccati o deviati nella cartella spam, può essere utile escluderli del tutto ed impedire che intasino il database.

Un possibile rimedio è quello di limitare via codice la lunghezza dei commenti: per farlo qua si ricorre a poche righe di codice, che vanno aggiunte nel file wp-comments-post.php, nella cartella principale del blog (non accessibile dalla bacheca).

Il codice va inserito appena dopo le seguenti righe (attenzione ai punti e virgole):

if ( ” == $comment_content )
wp_die( __(‘Error: please type a comment.’) );

Ecco il codice:

// Inizio limite di lunghezza
if (strlen($comment_author) wp_die( __(‘Scusa, il tuo nome non ha raggiunto almeno 10 caratteri, se desideri commentare riprova con un nome più lungo’) );
if (strlen($comment_author) >70 )
wp_die( __(‘Scusa, il tuo nome ha superato il limite di 70 caratteri, se desideri commentare riprova con un nome più breve’) );
if (strlen($comment_author_url) >80 )
wp_die( __(‘Scusa, il nome del tuo sito ha superato il limite di 80 caratteri, se desideri commentare riprova con un nome più breve’) );
if (strlen($comment_content) wp_die( __(‘Scusa, il tuo commento era troppo breve (meno di 20 caratteri), se desideri commentare riprova con un commento più lungo’) );
if (strlen($comment_content) >800 )
wp_die( __(‘Scusa, il tuo commento era troppo lungo (oltre 800 caratteri), se desideri commentare riprova con un commento più breve’) );
// Fine limite di lunghezza

Lo si può chiaramente adattare alle proprie esigenze, modificando i valori. Per esempio, l’URL dell’autore in WordPress è per sua natura lungo anche nel caso di backlink interni al sito, per cui fissare un limite troppo basso rischia di impedire la pubblicazione di link messi dall’autore del sito.

Fonte: intert3chmedia.net