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:
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 decifratura
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:
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":
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:
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.