Nicola D'Agostino (.net) - Articoli, traduzioni, grafica, web

Spam via e-mail? No grazie.

Come camuffare l’indirizzo e-mail sul proprio sito web in modo da non cadere vittima dello spam.

di Nicola D’Agostino

Sfuggire all’attacco dello spam?
Difficile ma non impossibile. Basta qualche accorgimento per ridurre la probabilit&agrev; che il nostro indirizzo di posta elettronico venga catturato dai bot e finisca negli elenchi a cui vengono spedite le ultime nuove su sesso, Viagra, Rolex falsi e crediti finanziari illimitati.
Senza pretesa di completezza vediamo alcuni metodi esistenti, i loro vantaggi ma anche gli immancabili svantaggi.

Scripta manent?

Primo metodo: togliere il link ipertestuale dall’HTML della pagina web e poi anche la scrittura letterale dell’indirizzo di posta per evitare che venga copiata ed utilizzata com’è da programmi automatici.
Il modo più diffuso è quello di sostituire i punti e il segno @ con parole. Invece di superhacker {at} sito(.)com avremo quindi "superhacker at sito punto com" oppure "superhacker presso sito punto com" e varianti con parentesi o altri segni come "superhacker(presso)sito(punto)com".
Il vantaggio è che l’indirizzo è incomprensibile ai bot ma comprensibile ad un visitatore che lo "tradurrà" solo con un piccolo sforzo in una versione usabile. Lo svantaggio è che perdiamo un po’ di immediatezza e costringiamo il visitatore che vuole contattarci a decodificare e riaggiustare l’indirizzo perché sia utilizzabile.

Una variante di questa tecnica è costituita dall’usare degli ostacoli nel sorgente HTML, come i segni di commento che non danno fastidio a chi vede l’indirizzo nel browser.

Un esempio? Eccolo:


super<!-- >hacker<!-- >@. -->@<!-- >@. -->sito<!-- >@. -->.<!-- >@. -->com

Un’immagine vale più di…

Un’alternativa al solo testo è l’uso di un’immagine, sempre senza link.
Ad esempio si può mostrare un rettangolo in GIF o JPEG con l’e-mail scritta correttamente senza togliere @ o i punti e piazzata invece del testo.
I vantaggi? Invisibile agli occhi degli spammer e chiara per gli usi legittimi.
Non si può però copiare e bisognerà riscriverla a mano nel programma di posta per contattarci. L’immagine, inoltre, taglia fuori chi naviga con browser testuali o è disabile e usa screen reader.

Quest’e-mail è (un po’) falsa.

Volendo mediare tra comodità e protezione si può mantenere il link ma appesantire l’indirizzo con qualche trappola.
Un metodo ormai classico, usato da anni anche su Usenet è rappresentato dallo scrivere -e linkare- indirizzi con qualche aggiunta, come ad esempio "superhacker {at} TOGLIMIsito(.)com".
In questo modo rendiamo più facile l’uso dell’indirizzo, che necessita solo di un’aggiustatina per funzionare. Il problema è che diventa facile anche per gli spammer, i cui programmi sono spesso in grado di filtrare queste protezioni e rimuovere una serie di parole-trappola usate comunemente come "antispam", "nospam", "toglimi", "removethis".

Codifica? Sì, grazie!

Negli ultimi anni si è fatta largo una soluzione moderna e che non danneggia la funzionalità del link mailto per l’e-mail: usare sistema di offuscamento con output "trasparente". Questo grazie all’uso nell’HTML di uno o più linguaggi o codifiche per cui il link funziona ma il sorgente mostra un blocco di caratteri insensati.
Come ci suggerisce un’interessante lista di idee antispam possiamo usare caratteri hex (esadecimali), Unicode o una funzione (in Javascript magari).
Ecco un esempio:


<script language="JavaScript" type="text/javascript">
<!--
var string1 = "superhacker";
var string2 = "@";
var string3 = "sito.com";
var string4 = string1 + string2 + string3;
document.write("<a href=" + "mail" + "to:" + string1 +
string2 + string3 + ">" + string4 + "</a>");
//-->
</script>

Meglio ancora quando uno script (in Javascript) viene accoppiato alla codifica, come potete vedere anche nel sorgente su NicolaDagostino.net nei link per i contatti via posta elettronica.

la versione online di Enkoder

Per codificare in questo modo l’e-mail un ottimo strumento è Enkoder, disponibile sia come programma in Java da scaricare<:a> che come pratico servizio online che genera codice HTML o XHTML da copiare ed incollare nel sorgente della propria pagina.

Una soluzione minimalista e al tempo stesso raffinata è infine questa:

scrivimi

Che in realtà è scritta cos&igrave:


<a href="http://www.sitoweb.com/form" onclick="this.href='mai' + 'lto:super' + 'hacker' + '@' + 'sito.' + 'com';return false;">scrivimi</a>

e che abbina al Javascript il ridirezionamento ad un eventuale form (vedi riquadro) nel caso che lo script non funzionasse o fosse supportato dal browser, uno dei pochi punti deboli di questa strategia.

Il form

Esiste anche un metodo ulteriore e radicale per evitare tutti i rischi: non pubblicare alcuna e-mail ed usare invece sul sito web un form.
In questo modo sarà possibile contattarci: la consegna del messaggio viene delegata in maniera pratica e segreta ad uno script server-side in Java, Perl o Php, richiamato con la funzione post via Javascript.
Alcune delle soluzioni di form da mettere sul sito web sono disponibili all’indirizzo http://ostermiller.org/contactform/
.

Una versione di questo articolo è stata pubblicata su "Hacker Journal" n. 97 del 23/03/2006