Combattere lo spam su siti Drupal: http:BL e SpamSpan

Aggiorno quanto detto pochi giorni fa relativamente all'implementazione di sistemi antispam diversi dai classici Captcha all'interno di siti web sviluppati con Drupal. Una ricerca nella sezione moduli del sito www.drupal.org porta a trovare diversi candidati atti ad arginare il problema spam su di un sito Drupal. Tralasciando il progetto Captcha ed i suoi derivati (che al momento in cui scrivo è attivo su questo sito, generando probabilmente parecchia noia in quei quattro coraggiosi visitatori...), ho passato in rassegna ed analizzato progetti quali Spam, GTSpam, Bad Behavior, http:BL, SpamSpan.

Dopo aver fatto alcune considerazioni analizzando i vari progetti, non ultimo il livello di attività attorno al progetto stesso, ho deciso di provare ad integrare nei miei siti http:BL e SpamSpan, riservandomi però di approfondire in un secondo momento un progetto che si mostra interessante, Mollom, interessante sia nei numeri (oltre 5000 siti che lo stanno attualmente utilizzando) sia perchè portato avanti da Dries Buytaert, lo stesso Dries Buytaert "inventore" di Drupal. Non mancherò di postare eventuali considerazioni quando avrò avuto modo di approfondire adeguatamente la cosa (http://mollom.com/).

HTTP:BL

www.projecthoneypot.org - Come avevo già avuto modo di precisare ero rimasto alquanto incuriosito dalla dichiarata disponibilità di un modulo per Apache Web Server, cosa che avrebbe permesso di implementare un sistema antispam ad un livello più alto di quello dei singoli siti, ma l'effettiva disponibilità di questo modulo sembra non esserci; non nego un certo disappunto che ho avuto nel constatare la cosa, tuttavia visto che nel frattempo mi ero già registrato sul sito (il servizio, per lo meno quello base, è gratuito previa registrazione), ho deciso di provare comunque ad installare, attivare e configurare il relativo modulo per Drupal.

Che cos'è Project Honey Pot che letteramente significa "Progetto vaso di miele" (e che potremmo pensare come ad una sorta di trappola per mosche)?

Sul sito del progetto si legge:

Project Honey Pot is a distributed network of decoy web pages website administrators can include on their sites in order to gather information about robots, crawlers, and spiders. We collate data on harvesters, spammers, dictionary attackers, and comment spammers. We make this data available to our members in order for them to protect their websites and inboxes.

Il modulo per Drupal invece dispone delle seguenti features:

  • http:BL lookups for visitor IPs
  • Blocking of requests coming from blacklisted IPs
  • Database caching, decreasing the number of DNS lookups
  • Honeypot link placement on ban page and optionally in footer
  • Custom ban message
  • Whitelisting through the access table (admin/user/access)
  • Greylisting: grants the user access if he passes a simple test
  • Checking only when a comment is placed,
    queueing the comment for moderation if the lookup is positive
  • Basic statistics on the number of blocked visits

E' necessario prestare un po' di attenzione durante la procedura di attivazione/installazione che non è del tutto immediata, soprattutto se non si passa un po' di tempo a leggere le istruzioni sul sito ufficiale. Per usufruire del servizio, dovremmo contribuire alla causa, installando una Honey Pot su uno dei nostri siti. Vi consiglio una capatina nelle FAQ, in particolare è bene chiarire da subito la differenza tra

What is a honey pot page, and what does it look like? We distribute Project Honey Pot spam trap addresses and other traps through honey pot pages installed on your site. These pages include a legal disclaimer as well as an email address. We mix up the page contents in order to ensure they are difficult for spam spiders to recognize. However, you can see a general example of what these pages look like here (the example page will open in a new window).

e tra

What are QuickLinks? QuickLinks are a quick and easy way for anyone who can post to a website to help trap malicious web spiders. We have found that the best honey pots installed online are the ones with the most in-bound links to them. QuickLinks allow users who may not be server administrators to still participate in Project Honey Pot simply by including a link on the pages they post to.

altrimenti potreste trovarvi con qualche dubbio al momento dell'attivazione del servizio.

Ma veniamo all'installazione del nostro modulo Drupal. Supponendo abbiate già creato il vostro account su www.projecthoneypot.org, attivato il modulo nella sezione di amministrazione moduli del nostro sito, si tratta di configurare le opzioni disponibili alla pagina che potete raggiungere alla nuova voce di menù "http:BL" nella sezione di configurazione del sito.

Qui dovrete inserire la vostra Access Key, scegliere la modalità di controllo per l'IP del visitatore, tradurre malamente eventualmente in italiano un paio di messaggi:

Ci scusiamo per il disagio arrecato, ma il tuo indirizzo IP %ip è stato inserito in una "blacklist" da <a href="%ipurl">http:BL</a>.
%honeypot

e ancora

Ci scusiamo per il disagio, ma il tuo indirizzo IP %ip è stato inserito in una "greylist" da <a href="%ipurl">http:BL</a>.
Puoi tuttavia sbloccarlo inserendolo in una whitelist su <a href="%whitelisturl">%whitelisturl</a>.
%honeypot

Caricare uno script in una qualche cartella del vostro server, script che probabilmente per voi drupaller sarà in php e che sarà generato specificatamente per il vostro sito da una procedura in 4 tappe che troverete su www.projecthoneypot.org nella sezione Manage Honey Pots e quindi settare un altro paio di opzioni, et voilà, il sistema di protezione antispam http:BL sarà attivo sul vostro sito.

SpamSpan

L'altro modulo che ritengo possa essere interessante abbinare a http:BL è SpamSpan. Il modulo non è altro che una perfetta integrazione in Drupal del noto javascript omonimo reperibile su www.spamspan.com ed automatizza la decostruzione e ricostruzione degli indirizzi email inseriti nelle nostre pagine; si attiva come filtro per i "Formati di input" ed in quanto tale funziona solo se digitiamo gli indirizzi all'interno delle aree di testo per le quali è previsto un controllo sul formato di input (Filtro HTML, PHP o Full HTML per citare i tre formati predefiniti).

In sostanza, un normale indirizzo email quale andrea [punto] panisson [chiocciola] gmail [punto] com viene scritto a livello di codice sostanzialmente come:

<span class="spamspan"><span class="u">andrea [dot] panisson</span> [chiocciola] <span class="d">gmail [dot] com</span></span>

ma viene visualizzato da un normale browser web con javascript attivo come un normalissimo indirizzo email cliccabile, ovvero come se fosse scritto normalmente:

<a href="mailto:andrea [punto] panisson [chiocciola] gmail [punto] com">andrea [punto] panisson [chiocciola] gmail [punto] com</a>

Uno spam-bot che si suppone (spera) non avere al suo interno un motore javascript non sarebbe quindi in grado di visualizzare l'indirizzo email. C'è da dire che se un giorno deciderete di disabilitare questo filtro, tutti gli indirizzi email inseriti in precedenza nel sito saranno visualizzati nella forma:

andrea [dot] panisson [chiocciola] gmail [dot] com

Tutti i parametri di configurazione si trovano accedento alla pagina di configurazione dei "Formati di input". Ad esempio per attivare il filtro con il formato Full HTML, nella pagina dei Formati di input, selezionate l'opzione "Configura" accanto a Full HTML; nella pagina che si apre, "formato di input Full HTML [Mostra]", scorrete nella sezione "Filtri" ed attivate l'opzione "Hide email addresses"; passate quindi alla scheda "formato di input Full HTML [Configura]", cliccando su configura accanto al titolo della pagina; nella pagina che si apre, troverete una nuova sezione "SpamSpan email address encoding filter" dove potrete modificare alcuni parametri di configurazione. Controllate infine nella scheda "formato di input Full HTML [Riorganizza]" che il filtro sia applicato quanto meno dopo "Conversione linea a capo" in quanto viene consigliato dallo sviluppatore di posizionare questo in basso filtro tra le ultime posizioni per prevenire possibili conflitti con gli altri filtri attivi.

Comments

Mollom

Prima nota, http://mollom.com è un servizio a pagamento. La versione "free" è piuttosto limitata, mentre quella full costa 30 euro al mese.

Tra i nomi in bella mostra che utilizzano il servizio, Adobe, Sony, Warner Bros...