Non è mai una buona scelta inserire gli indirizzi email direttamente nella pagina dato che gli spam bot sono alla continua ricerca di indirizzi email verso i quali inviare spam.
Facendo una ricerca si trovano diversi script javascript per la protezione degli indirizzi ma li ho trovati un po obsoleti.
Prima di tutto fanno una document write per la quale bisogna inserire il tag script all’interno della pagina. Secondo, molti non fanno altro che unire ‘nome’ + ‘@’+ ’server.bla’, sai che difficile capire che la c’è un indirizzo email.
Credo che questo script offra una protezione migliore e un utilizzo più semplice, soprattutto se avete pagine dinamiche.
Per il funzionamento richiede jQuery e il plugin base64.
<script type="text/javascript">
/*
* Protezione contro spam bot per le email
* Inserire lo script nell'head e includere jquery e il plugin base64
* Se vi piace questo script lasciate questo URL http://www.skipstorm.org
*/
$(document).ready(function(){
$('.email').each(
function(){
var address = $.base64Decode($(this).attr('rel'));
$(this).attr('href', 'mailto:'+address);
$(this).text(address);
}
);
});
</script>
che cosa fa lo script, una volta caricato il documento per ogni tag con la classe email (o cambiatela con quello che preferite) dall’attributo rel, dove si aspetta l’indirizzo encodato in base64, crea link e testo.
Nella pagina gli indirizzi risulteranno come questo qua sotto
<p>Email: <a rel="ZW1haWxAZW1haWwuY29t" class="email">Devi avere javascript abilitato per visualizzare questo indirizzo.</a></p>
Se generate le pagine serverside non vi sarà difficile trovare o creare uno script per convertire gli indirizzi, se vi serve un convertitore potete inserire questo bottone in una pagina dove avete incluso gli stessi script richiesti da quello qua sopra.
<input type="text" id="base64input" /><button onclick="$('#base64input').attr('value' , $.base64Encode($('#base64input').attr('value')));">Encode</button>