389 1671634     [javascript protected email address]

Offuscare e rendere sicuri gli indirizzi email su un sito web

Condividi questo post:

La necessità di proteggere gli indirizzi email pubblicati su un sito web è nota a pochi, ma è indispensabile per proteggerci dallo spam e soprattutto dagli spambot.

Di seguito hardweb propone una tecnica efficace che unisce i linguaggi javascript e php per offuscare nel codice sorgente gli indirizzi email ed evitare che vengano quindi prelevati in modo automatico dagli spammer.

Funzioni principali:

Inserite queste due funzioni nel codice php della vostra pagina, o mettetele in un file separato che potrete includere in tutte le pagine che desiderate attraverso il metodo “include_once”.

/* OBFUSCATE EMAIL CODE */
function hide_email($email)

{ $character_set = '+-.0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz';

  $key = str_shuffle($character_set); $cipher_text = ''; $id = 'e'.rand(1,999999999);

  for ($i=0;$i<strlen($email);$i+=1) $cipher_text.= $key[strpos($character_set,$email[$i])];

  $script = 'var a="'.$key.'";var b=a.split("").sort().join("");var c="'.$cipher_text.'";var d="";';

  $script.= 'for(var e=0;e<c.length;e++)d+=b.charAt(a.indexOf(c.charAt(e)));';

  $script.= 'document.getElementById("'.$id.'").innerHTML="<a href=\\"mailto:"+d+"\\">"+d+"</a>"';

  $script = "eval(\"".str_replace(array("\\",'"'),array("\\\\",'\"'), $script)."\")"; 

  $script = '<script type="text/javascript">/*<![CDATA[*/'.$script.'/*]]>*/</script>';

  return '<span id="'.$id.'"></span>'.$script;

}

function hide_email_nolink($email)

{ $character_set = '+-.0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz';

  $key = str_shuffle($character_set); $cipher_text = ''; $id = 'e'.rand(1,999999999);

  for ($i=0;$i<strlen($email);$i+=1) $cipher_text.= $key[strpos($character_set,$email[$i])];

  $script = 'var a="'.$key.'";var b=a.split("").sort().join("");var c="'.$cipher_text.'";var d="";';

  $script.= 'for(var e=0;e<c.length;e++)d+=b.charAt(a.indexOf(c.charAt(e)));';

  $script.= 'document.getElementById("'.$id.'").innerHTML=""+d+""';

  $script = "eval(\"".str_replace(array("\\",'"'),array("\\\\",'\"'), $script)."\")"; 

  $script = '<script type="text/javascript">/*<![CDATA[*/'.$script.'/*]]>*/</script>';

  return '<span id="'.$id.'"></span>'.$script;

}

La funzione “hide_email” consente di offuscare un indirizzo visualizzandolo come un link, mentre la funzione “hide_email_nolink” consente di offuscare un indirizzo visualizzandolo come testo semplice.

Esempio di utilizzo:

//questo stampa nell'html l'indirizzo come link (mailto:)
<?php echo hide_email('ilmioindirizzo@domain.com'); ?>

//questo stampa nell'html solo il testo dell'indirizzo
<?php echo hide_email_nolink('ilmioindirizzo@domain.com'); ?>

Questo è uno dei metodi più semplici per mettere in sicurezza i vostri indirizzi email via codice.

Se avete dubbi o domande in proposito lasciate un commento qui sotto!

Post che potrebbero interessarti

Vuoi risolvere un problema? Chiamaci al 389 1671634
o mandaci una mail a [javascript protected email address]

Ti risponderò personalmente per qualsiasi necessità o emergenza, anche tramite un messaggio Whatsapp! Invia una mail