Médiaforma

PHP MySQL – Protéger une adresse e mail

Print Friendly

Pour éviter qu’une adresse e-mail ne soit subtilisée par les robots qui parcourent le Web, le plus simple est de la convertir en une suite de caractères ASCII de type « g ». Pour cela, vous pouvez définir une fonction PHP dans laquelle les caractères de l’adresse e-mail sont parcourus un par un (avec la fonction substr()) et convertis en une suite de caractères ASCII avec la fonction ord(). Pour connaitre le nombre de caractères de l’adresse e-mail, vous utiliserez la fonction strlen() :

substr(chaine, position, longueur)

Où chaîne est la chaîne à parcourir, position la position du caractère à extraire et longueur est égal à 1 pour extraire un seul caractère.

Examinez le code suivant. La fonction proteger() retourne l’adresse e-mail qui lui est passée sous la forme d’une suite de codes ASCII.

<?php
  function proteger($adr) {
    $adresseCodee = "";
    for ($i=0; $i<strlen($adr); $i++)
      $adresseCodee .= "&#" . ord(substr($adr, $i, 1)) . ";";
    return $adresseCodee;
  }
  echo "<a href='" . proteger("mailto:admin@mediaforma.com") . "'>Pour nous joindre, cliquez ici</a>";
?>
ord(caractère)

retourne le code ASCII du caractère qui lui est passé en argument.

strlen(chaine)

retourne la longueur de la chaîne qui lui est passée en argument.
 

Ici, l’adresse email est utilisée dans un lien hypertexte.

Exécutez ce code dans WAMP Server. Comme vous pouvez le voir, le lien est opérationnel. Appuyez sur la touche Alt pour afficher le système de menus d’Internet Explorer et exécutez la commande Source dans le menu Affichage. L’adresse email affichée dans le lien est constituée d’une suite de codes ASCII. Ces informations sont incompréhensibles par les robots qui parcourent le Web. Votre adresse ne sera donc pas spammée.

 

Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply