Drupal 7: come bloccare lo spam

Un grande problema per i proprietari di un sito web è lo spam effettuato dai bots. Anche io in questo piccolo sito fatto con Drupal 7 ho avuto questo problema e per questa ragione fino a qualche mese fa ero solito moderare ogni singolo commento approvandolo oppure eliminandolo e bannando il suo ip ma questa era un'operazione molto noiosa.

Realmente scocciato dallo spam nei commenti da parte dei bots ho deciso di risolvere questo problema e dopo diversi mesi posso dire di esserci riuscito. Per vincere la battaglia contro i bots si possono semplicemente usare questi moduli:

  • Simple Anti-Spam: questo modulo aggiunge ai forms da proteggere un checkbox visibile da spuntare per confermare di essere un umano ed un checkbox nascosto visibile solo nel codice HTML da non spuntare che però i bots spuntano ugualmente poiché tendono a completare ogni campo presente nel codice di una pagina; inoltre permette di filtrare i forms in base ad una blacklist di parole ed in base a del codice PHP; infine permette di bannare automaticamente un IP dopo un certo numero di tentativi
  • Comment Trust: questo modulo permette di approvare automaticamente il commento inserito da un indirizzo email a cui era precedentemente stato approvato un certo numero di commenti
  • Comment IP: questo modulo aiuta a cancellare un commento ed a bannare automaticamente il suo ip
  • CAPTCHA: questo modulo aggiunge una domanda ai commenti per capire se l'utente è un umano o un bot
  • Boost Captcha: questo modulo è necessario per usare il modulo CAPTCHA con il modulo per il chaching BOOST
  • Honeypot: questo modulo aggiunge un campo nel codice HTML per ogni form della pagina, questo campo è nascosto ed è visibile solo nel codice HTML quindi quando viene completato allora il commento viene bloccato, i bots scansionano il codice di una pagina e completano ogni form presente in essa ecco perché il modulo Honeypot è realmente grandioso

 

Come configurare Simple Anti-Spam:

Simple Anti-Spam è un modulo semplice ma molto potente che se ben configurato può rendere la vita molto dura ai bots che cercano di spammare un sito.

In Form ID's dobbiamo inserire i form del sito che vogliamo proteggere con la dicitura finale |100 :

user_register_form|100
user_login|100
user_login_block|100
user_pass|100
contact_site_form|100
comment_node_blog_form|100

In Stop Words oltre la nostra black list di parole possiamo inserire:

[url
comment_body

che sono delle diciture tipiche dei bots automatizzati che attaccano siti con Drupal.

In PHP Code possiamo sbizzarrirci, io ho inserito questo codice:

if (preg_match('#(\.il|\.in|\.ir|\.pw)#i', $text)) { return 'text contains link at banned domain'; }

per bloccare i commenti con i link ai domini che i bots spammano continuamente.

Tags: