WordPress ContactForm con Trencaspammers

Questa volta si è trattato di un… detto – fatto. Ne avevo parlato giusto alcune ore fa ed ecco pronta la soluzione… il modulo contatti con captcha di sicurezza.

Il plugin che utilizzo nella pagina dei contatti è Wp ContactForm che, nella sua semplicità, non prevedeva alcuna funzione anti-spam. Per questo, modificando qualche riga di codice, ho inserito Trencaspammers, un ottimo plugin per WordPress messo in funzione un paio di giorni fa.

Le modifiche da apportare al codice sono semplicissime.

Aprite wp-contactform.php ed intorno alla riga 78, dopo:

global $wpcf_strings;
$ok = true;

Inserite:

$ts_code=trim($_POST['ts_code']);
$ts_random=$_POST['ts_random'];
if ( !ts_is_human($ts_random, $ts_code))
die( __('Errore: per favore inserisci il codice di sicurezza correttamente.'));

Alla riga 159, subito dopo l’apertura della parentesi graffa dell’else, inserite:

$ts_random=rand();

Ed alla riga 166, subito dopo la riga che inizia per:

andate a capo ed inserite (sostituendo il giusto percorso verso trencaspammers.php):

<div class="contactleft"><label for="ts_code">
<input type="hidden" name="ts_random" value="' . $ts_random . '"/>
<img src="http://PERCORSO/trencaspammers.php?ts_random=' . $ts_random .'" alt="spam" />
</label></div>
<div class="contactright">
<input type="text" name="ts_code" id="ts_code" size="30" /> (obbligatorio)</div>

A questo punto salvate il file e… dovrebbe funzionare tutto. 😉

Buon hack e… fanc*lo agli spammers! 🙂

P|xeL

Pubblicato da

Ingegnere. Si divide tra lavoro, bicicletta, monociclo e volontariato. Vive in una casa con un ciliegio insieme ad una moglie, tre bimbe e otto pesciolini che non lo aiutano a tenere in ordine.

1 commento » Scrivi un commento

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.