Anti SPAM : crypter une adresse email sur un site web HTML


sim100
WRInaute passionné
WRInaute passionné
 
Messages: 1441
Inscription: 2 Fév 2003

Anti SPAM : crypter une adresse email sur un site web HTML

Message le Jeu Aoû 10, 2006 5:29

Bonjour
Quels sont les solutions pour cripter une adresse email sur un site web en HTML ?

Y a t-il un petit Javascript ou autre pour cela?

Merci pour les solutions.


spout
WRInaute accro
WRInaute accro
 
Messages: 4377
Inscription: 14 Mai 2003

Message le Jeu Aoû 10, 2006 5:36

http://aspirine.org/emailcode.php

ou en PHP:

Code: Tout sélectionner
function encodeEmail($email, $name = null) {

   $email = preg_replace("/\"/","\\\"",$email);

    if($name == null)
           $name = $email;

   $old = "document.write('<a href=\"mailto:$email\">$name</a>')";

   $output = "";

   for ($i=0; $i < strlen($old); $i++) {
    $output = $output . '%' . bin2hex(substr($old,$i,1));
    }

   $output = '<script type="text/javascript">eval(unescape(\''.$output.'\'))</script>';
   $output .= '<noscript><div>Il faut javascript activé pour voir l\'email</div></noscript>';
   return $output;
}


cprail
WRInaute passionné
WRInaute passionné
 
Messages: 1564
Inscription: 5 Mar 2006

Message le Jeu Aoû 10, 2006 8:32

Moi j'ai l'habitude d'engluer l'email dans un petit Flash.
C'est moins sophistiqué, les visiteurs sans flash ne peuvent la voir, mais c'est une technique comme une autre...


horlogerie
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 467
Inscription: 15 Aoû 2005

Message le Jeu Aoû 10, 2006 8:36



Leonick
WRInaute accro
WRInaute accro
 
Messages: 19592
Inscription: 8 Aoû 2004

Message le Jeu Aoû 10, 2006 8:43

Moi je mets des formulaires d'envoi de message :wink:

zooloo
WRInaute discret
WRInaute discret
 
Messages: 171
Inscription: 14 Oct 2003

Message le Jeu Aoû 10, 2006 9:05

Outre le formulaire qui permet de cacher l'email, il y a aussi une fonction javascript très simple, et qui marche très bien en ce qui me concerne.

dans la partie head de votre page collez (et adaptez) le bout de code suivant :
Code: Tout sélectionner
<script type="text/javascript">
   function mail(str){
      window.location.href="mailto:" + str + "@" + "mon-domaine.com";
   }
</script>

Vous remplacez bien sûr mon-domaine.com par votre domaine...
Ensuite dans votre code html, pour faire apparaitre un lien mailto :
<a href="javascript:mail('webmaster')">nous contacter</a>

Pour l'exemple ci-dessus, le lien "nous contacter" renvoie vers l'email webmaster@mon-domaine.com.
Ainsi l'email n'apparait pas en clair dans la source.


medium69
WRInaute passionné
WRInaute passionné
 
Messages: 2485
Inscription: 7 Mai 2005

Message le Jeu Aoû 10, 2006 10:14

Une solution simple mais efficace en PHP :

Code: Tout sélectionner
/* Encodage d'email pour contrer le spam */
// Transforme les caractères de l'email en équivalent ASCII dans le code source
function emailEncode($email) {
   $email_encode = '';
   $nb_caractere = strlen($email);
   for      ($a = 0; $a < $nb_caractere; $a ++) {
         $ord = ord(substr($email, $a, 1) );
         $email_encode .= '&#'.$ord.';';
         }
   return $email_encode;
}


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités