Wikini

CrypterSonAdresseElectronique

PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes ec2-3-80-85-76.compute-1.amazonaws.com

Comment crypter son adresse électronique


Si vous voulez que votre adresse électronique apparaisse sur une des pages de ce wiki (la page à votre nom par exemple) il est préférable de ne pas la mettre en clair, pour éviter qu'elle ne soit lisible par un de ces innombrables robots qui parcourent inlassablement la Toile pour collecter automatiquement les adresses électroniques à des fins commerciales ou inavouables (c'est-à-dire pour vous spammer ensuite). L'astuce consiste à ne pas écrire quelque chose comme VOTRE.ADRESSE@DOMAINE.EXT directement, mais à écrire à la place un petit programme JavaScript qui, à partir d'informations cryptées, saura réafficher votre adresse en clair. C'est-à-dire en clair pour un être humain qui regarde son écran, mais indéchiffrable pour un robot qui lui ne sait que lire l'HTML de la page, sans interpréter les programmes JavaScript qui s'y trouvent.

Procédure à suivre :





Malheureusement, le code que la CNIL a généré pour vous doit être un peu modifié pour fonctionner ici :



Voilà, vérifiez avec un "Aperçu". Vous devez voir apparaître un lien PRENOM NOM. En cliquant dessus, vous fabriquerez un message à envoyer à VOTRE.ADRESSE@DOMAINE.EXT

Et pour afficher votre adresse électronique directement, remplacer l'exemple ci-dessus par le suivant :



vous ferez alors apparaître un lien VOTRE.ADRESSE@DOMAINE.EXT

Je pense que les solutions basées sur JS ou n'importe quel langage s'exécutant du côté du client sont à exclure, étant donné que si un navigateur est capable de l'exécuter, un robot est capable de tout autant... -- LordFarquaad

Discussions


Solution à base d'image

Je viens de découvrir une solution originale pour modifier son adresse électronique afin de la cacher des robots collecteurs. Il s'agit tout simplement de remplacer le caractère "@" par une image... Cette solution est visible sur la page suivante : http://wiki.crao.net/index.php/Fran%E7oisParmentier.
Je pense qu'elle peut être aisément mise en oeuvre ici même. Si on souhaite renforcer le "cryptage" (qui n'en est pas tout à fait un) il suffit de remplacer d'autres caractères par leurs images équivalentes.
Avantages :


Inconvénients :


-- CharlesNepote

Personnellement je pencherai plus en faveur d'une solution utilisant des images. Celles-ci pourraient être générées et mémorisées dans un dossier de cache spécifique aux images pour les e-mails.
-- PatrickPaul


Solution à base d'un formulaire (POST)

Une autre solution à envisager est celle de masquer l'adresse derrière un formulaire envoyé via la méthode "POST".
Cette solution est présentée ici :


-- CharlesNepote


L'idée et de générer aléatoirement des champs non utilisés, ainsi que le nom des champs, utilisés ou non (je n'ai pas pu mettre ce texte en commentaire de la page : trop de liens) -- AlexandreF


Solution (toute faite) à base d'un formulaire (POST)

Pour compléter ce qui est présenté ci-dessus et apporter un peu plus d'aide à ceux que la langue anglaise rebute je propose ceci qui pourra bien sûr être amélioré :


""<html>
<body>
<table wight="450" align="center"><tr><td>
""====Envoyez un message ?====""
<FORM ACTION="envoimail.php3" METHOD="POST">
            Votre E-mail <br>
            <input type="text" name="emailexped" size=30 maxlength=50><br>
            Votre nom<br>
            <input type="text" name="pseudo" size=30 maxlength=50><br>
            Titre du message<br>
            <input type="text" name="titre" size=45 maxlength=50><br>
             Message : <br>
            <textarea name="message" cols=45 rows=10 wrap="soft"></textarea>
           <br>
            <input type="submit" value="Envoyer" name="submit"><br>
            &nbsp;&nbsp;<br>
            <input type="reset" value="Réinitialiser" name="reset">
</FORM>
</td></tr></table></body></html>""



<?
$to      
"nom@xxxxx.org";
$headers "From: Message <webmaster@nomsite.org>\n"
$mon_email "nom@xxxxx.org"
$sujet "Message depuis (nom de votre site) \n";
$emailbody "$emailexped\n";
$emailbody .= "$speudo;$ip\n\n";
$emailbody .= "$titre\n\n";
$emailbody .= "$message\n";
$param   "-f $mon_email";
mail($to$sujet$emailbody$headers$param);

echo 
"
<html><head>
<meta http-equiv=\"Refresh\" content=\"2;URL=http://ADRESSE.PAGE.ACCUEIL.SITE\">
</head>
<body>
<table wight=\"500\" align=\"center\"><tr><td>
<br><br><br><br>
Le message a été envoyé.<br>
<br>
Vous allez être redirigé vers l'accueil du site.<br><br>
Merci.<br>
L'équipe.<br>
</td></td></table>
</body></html>"
;
?>

--Michel



[David VANTYGHEM] Le challenge est de rendre visible l'adresse mél à un être humain et à un lecteur pour personne malvoyante et de la rendre invisible ou incompréhensible aux robots collecteurs d'adresses mél.
On peut conditionner l'affichage de l'adresse à une action humaine qu'un robot ne peut faire. Par exemple :



Solution Javascript
Plein de solutions sont possibles. Une avec uri_escape :

<?
function encryptEmail($email$string '') {
    
// if the string is empty, use the e-mail address:
    
if ($string == '') {
        
$string $email;
    }

    
// the JavaScript code to print the HTML:
    // (putting newlines into $code seems to mess up the encoding, so don't)
    
$enc_email uri_escape($email);
    
$enc_str   uri_escape($string);
    
$code =    "var addr = '$enc_email';" .
           
"var string = '$enc_str';" .
           
"document.write('<a href=\"mailto:' + unescape(addr) + '\">' + unescape(string) + '</a>');";

    
// encode the JavaScript code:
    
$encoded uri_escape($code);

    
// generate stuff to go inside <noscript></noscript> tags:
    
if (strtolower($string) == strtolower($email)) {
        
$noscript "(e-mail cach&eacute;e)";
    } else {
        
$noscript $string;
    }

    
// print the JavaScript which prints the JavaScript which prints the HTML:
    
return    "<script language=\"JavaScript\" type=\"text/javascript\">" .
          
"eval(unescape('$encoded'));" .
          
"</script>" .
          
"<noscript>$noscript</noscript>";

    return 
true;
}
?>


-- AlexandreF



Voir la CategorieSpam?.


Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]