Quando pubblichiamo un sito internet, sia che lo facciamo per scopi commerciali, che personali o di altro genere, abbiamo quasi sempre la necessità (e il piacere, perchè no?) di rendere disponibile agli utenti il nostro indirizzo di posta elettronica.
Ciò si realizza in varie forme, dall'esposizione in chiaro di "mioindirizzo@dominio.ext" nel nostro logo commerciale, oppure nell'intestazione o in calce alla pagina, all'inserimento dello stesso in un tag HTML del tipo:
<a href="mailto:mioindirizzo@dominio.ext>Contattami</a>
In ogni caso, un effetto collaterale quasi inevitabile è che, presto
o tardi, la nostra casella email sarà invasa da decine di fastidiosi messaggi pubblicitari, il cosiddetto "spam". Una bella seccatura. Questo accade perchè gli "spiders", programmi creati ad-hoc, navigano continuamente il web alla ricerca di indirizzi email da raccogliere e memorizzare. Le mailing list così realizzate sono poi utilizzate dagli spammers per inviare pubblicità non richiesta.
Esistono diversi programmi, anche complessi ed evoluti, per filtrare la posta elettronica in funzione anti-spam. Il semplice metodo qui proposto non ha certo
la pretesa di sostituirli. Tuttavia le ASP (VBScript in questo caso) ci possono
aiutare a rendere più difficile il lavoro degli spiders, e quindi a difendere la nostra casella email dallo spam. Ecco, brevemente commentato, un semplice script utile a celare una stringa di testo (come un indirizzo email), per poi renderla visibile solo quando necessario.
Lo script si compone di due parti: una routine per la crittografia e una per la decifratura, più una semplice fase in cui la stringa crittografata viene utilizzata per la sua funzione pratica.
Crittografia dell'indirizzo
È molto elementare, funziona utilizzando la versione ASCII delle 26 lettere dell'alfabeto inglese. La stringa di testo contenuta nella variabile "frase" viene crittografata facendo scorrere ogni carattere di un numero di posizioni a scelta del programmatore, numero memorizzato nella variabile "shift".
L'istruzione "response.write(newfrase)" stamperà a video la versione crittografata dell'indirizzo, che si dovrà utilizzare nella seconda parte dello script. Ecco il codice commentato. Copiarlo, incollarlo in un nuvo documento ASP, modificarlo con i parametri giusti (il proprio indirizzo e-mail, in primis), salvarlo sul server ed eseguirlo. Quindi prendere nota del risultato stampato a video. Ci servirà di qui a poco:
<%
'impostazione delle variabili
frase = "mioindirizzo@dominio.ext" 'l'indirizzo
email da nascondere
frase = lcase(frase) 'trasformo tutte le lettere
in minuscole
shift = 5 'il numero di posizioni da scorrere
newfrase= "" 'la variabile destinata a
contenere l'indirizzo crittografato'calcolo della stringa crittografata
for I = 1 to len(frase)
char = mid(frase, I, 1)
for k = 97 to 122
if char = chr(k) then
if (k+shift) <= 122 then
newchar = chr(k+shift)
exit for
else
newchar = chr(k+shift-26)
exit for
end if
else
newchar = char
end if
next
newfrase = newfrase&newchar
next
'stampa della stringa crittografata
response.write(newfrase)
%>
Decifratura dell'indirizzo.
Solo questa parte dello script deve essere contenuta nel codice della pagina web in cui dovrà comparire l'indirizzo, per renderlo visibile agli utenti
e/o per attivare il campo "mailto":
<%
'impostazione delle variabili
frase = "rntnsinwneet@itrnsnt.jcy" 'l'indirizzo email crittografato dalla prima parte dello script
shift = 5 'lo stesso valore utilizzato per la crittografia
newfrase = ""
'decrittazione dell'indirizzo
for I = 1 to len(frase)
char = mid(frase, I, 1)
for k = 97 to 122
if char = chr(k) then
if (k-shift) >= 97 then
newchar = chr(k-shift)
exit for
else
newchar = chr(k-shift+26)
exit for
end if
else
newchar = char
end if
next
newfrase = newfrase&newchar
next
%>
Utilizzo
Inserisci la variabile output della seconda funzione ("newfrase", anch'essa scritta tra i tag di apertura e chiusura di VBScript) nella stessa pagina, nel punto in cui dovrà comparire il tuo indirizzo email, oppure nel link:
<a href="mailto: <%=newfrase%>" target="_blank" >Contattami</a>
che punta ad esso.
Questo è tutto. La tua email sarà memorizzata sul server nella versione crittografata, e quindi sarà invisibile agli spiders. Lo script
provvederà a ricalcolarne il vero valore ogni volta che un browser caricherà il codice HTML, e a visualizzarlo correttamente nella pagina, così come nel campo "mailto" per l'invio automatico via link. Attenzione: perchè il trucco funzioni, la pagina deve avere estensione .asp.