Magazine High tech

PHP hide_email(), cachez vos adresses emails

Publié le 04 février 2010 par Myrmex

PHP hide_email() est une fonction PHP qui permet de protéger vos adresse E-mail que vous publiez sur votre site Internet. Cette protection est efficace contre les “bots” et les “spiders” qui tente de copier vos emails pour vous envoyer ensuite E-mail spam.
Pour fonctionner, cette fonction utilise un chiffrement de substitution avec une clé différente pour chaque chargement de vos pages web.

PHP hide_email(), cachez vos adresses emails

PHP hide_email() encrypte votre adresse E-mail et produit le javascript qui le décrypte. La plupart des “bots” et “spider” ne peuvent pas exécuter de javascript.
Si un internaute désactive l’execution de javascript, ce dernier sera notifié du message suivant ‘javascript protected email address’ à la place de l’adresse E-mail. Ce message est personnalisable !

Le code de la fonction tient en 9 lignes !

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.'">[javascript protected email address]</span>'.$script; }

Et dans votre pgae PHP, il suffit d’ajouter :

<?php echo hide_email('[email protected]'); ?>

Site Internet : PHP hide_email()
Licence : Gratuit


Retour à La Une de Logo Paperblog

A propos de l’auteur


Myrmex 169 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte