Gabriele “Charlie” Guizzardi

24 May, 2010

Offuscare l’eMail in Javascript

Scritto da: Gabriele Guizzardi In: HTML|Javascript|Programmazione

Spesso, nei propri siti Internet, si tende ad inserire, nella pagina dei contatti o in altre pagine, magari anche in modo ricorsivo dentro a pagine incluse, il seguente codice HTML:

<a href="mailto:indirizzo@dominio.est">Scrivimi</a>

Questo modo di inserire tra le proprie pagine un indirizzo email è pericoloso ed espone l’indirizzo stesso alla registrazione da parte di un programma che raccoglie email per usarli in ambienti di spamming (spambot). Le pagine HTML dei siti sono costantemente lette ed analizzate da molti software, non tutti “etici”, che sono proprio alla ricerca di indirizzi validi da archiviare e rendere disponibili a sistemi di spamming di tutti i tipi (tra i più conosciuti ci sono Sendmail, Send Safe e Dark Mailer).

Per evitare il più possibile che il nostro indirizzo email entri in circuiti di spamming e che poi comunicazioni commerciali, spesso di dubbia utilità per non dire di peggio, si può cercare di mascherarlo dalla lettura automatica di questi software che effettuano lo scan delle pagine web.

Per far questo è necessario utilizzare un linguaggio di scripting interpretato dal browser, non è possibile usare linguaggi come PHP o ASP poiché questi linguaggi sono interpretati dal server ed il risultato è tradotto in pagine HTML quindi comunque leggibili dai software di scansione o spider di indirizzi mail.

Quello che segue è un esempio di offuscatore di indirizzo mail scritto in Javascript. E’ un esempio molto semplice e basilare ma sufficientemente efficace ad inibire la lettura del proprio indirizzo mail a moltissimi software di scansione.

<SCRIPT LANGUAGE="JavaScript">
utente = 'indirizzo';
sito = 'dominio';
estensione = 'est';
document.write('<a href="mailto:' + utente + '@' + sito + '.' + estensione + '">');
document.write(utente + '@' + sito + '.' + estensione + '</a>');
</SCRIPT>

Un altro metodo più complesso, anche da realizzare, è quello di utilizzare i valori Unicode dei singoli caratteri che compongono l’indirizzo email.

<a href="javascript:location='mailto:\u0075\u0074\
u0065\u006e\u0074\u0065\u0040\u0064\u006f\
u006d\u0069\u006e\u0069\u006f\u002e\u0065\
u0073\u0074';void 0">Scrivimi</a>

In Javascript si può scrivere una funzione che restituisce il valore Unicode del testo passato.

<script type="text/javascript">
function convertString2Unicode(email)
{
var uniString = "", hexVal, uniChar;
for(var i = 0; i < email.length; ++i)
{
hexVal = Number(email.charCodeAt(i)).toString(16);
uniChar = "\\u" + ("000" + hexVal).match(/.{4}$/)[0];
uniString += uniChar;
}
return uniString;
}
alert(convertString2Unicode('utente@dominio.est'));
</script>

In questo caso visualizzeremo i corrispondenti codici Unicode della parole “ciao”: \u0063\u0069\u0061\u006f.

Nota: ovviamente non utilizzate questo codice direttamente nelle pagine web poiché sarebbe inutile sostituire l’indirizzo email nell’equivalente Unicode lasciando comunque l’indirizzo “in chiaro” all’interno dello script! Usate lo script solo per creare il corrispondente indirizzo email in Unicode e poi pubblicate quest’ultimo.

Una tecnica alquanto più sicura ed attualmente definitiva è quella di crittografare l’email sempre realizzando un codice di offuscamento. Un esempio di criptazione sarà però oggetto di un futuro articolo.

Related Posts with Thumbnails
Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
PDF Download    Invia l'articolo in formato PDF a

No Responses to "Offuscare l’eMail in Javascript"

Comment Form


  • Gabriele Guizzardi: Purtroppo l'elenco degli errori che ho pubblicato non c'entra nulla con il problema da te riscontrato ma vi si fa riferimento durante l'utilizzo di wi
  • chinaski: ciao! da qualche giorno XP mi chiede la password all'avvio senza che io l'abbia mai impostata non acetta nessuna password, e se lascio il campo
  • Matteo Cappelli: Ho capito allora, il cambio dell'indirizzo MAC funziona solo se all'interno dello stesso dominio di broadcast (ad esempio per ingannare uno switch e p

Chi Sono

Salve a tutti,
questo blog nasce per studiare WordPress e il mondo dei blog in genere quindi, almeno per il momento non vi aspettate molto. Usero' questo stumento per parlare di cio' che conosco meglio, a partire dalla programmazione dei computer. Su di me posso dire che ho iniziato a programmare agli inizi degli anni '80 con l'uscita dell'Atari 800XL e nel 1989 è uscito un mio videogioco distribuito dalla Lago Software. In tutti questi anni, oltre a lavorare come tecnico o programmatore, ho pubblicato diversi articoli e inseriti per diverse riviste: EG Elettronica Giovane, Elettronica Flash, Computer News, ecc. Dal 2000 ho creato una piccola software house specializzata in software aziendali realizzati ad hoc.

Pubblicit�

Pubblicit�