Aide - Recherche - Membres - Calendrier
Version complète : comment cacher une adresse e-mail?
Forum Développeur - Administration serveur, programmation et base de données > Programmation > Javascript et AJAX
jojolapine
Je sais qu'il est possible de cacher une adresse e-mail aux "robots" des spameurs? mais je ne possède pas le code (d'abord est-ce bien du java-script?, sinon redirigez moi vers l'html ou autre chose) et ensuite, je ne sais pas ou il faut intégrer ce code ds le code source de la page
merci d'avance
jo
ElMoustiko
Salut !
je t'indique ce topic qui devrait répondre à ta question.

Ca pointe sur la solution directe, mais tu peux relire le reste pour voir un peu de quoi il en retourne
http://forum.alsacreations.com/topic.php?f...tid=3079#p29062

Je copie/colle le code ici, si t'as des soucis demande wink.gif

CODE


function hackSpamBot2() {

var emails = document.getElementsByTagName('a');

var arobase = '@';

for (var i = 0; i < emails.length; i++) {

 if (emails[i].getAttribute('class') == 'hackSpamBot') {

  var mailtoMan = emails[i].href.substring(0,emails[i].href.indexOf('_CHEZ_'));

  var mailtoDomain = emails[i].href.substring(emails[i].href.indexOf('_CHEZ_')+6,emails[i].href.indexOf('_POINT_'));

  var mailtoDomainExt = emails[i].href.substring(emails[i].href.indexOf('_POINT_')+7,emails[i].href.length);

  emails[i].href = mailtoMan + arobase + mailtoDomain + '.' + mailtoDomainExt;

 }

}

}



Et dans la source HTML
CODE


<a class="hackSpamBot" href="mailto:mapom_CHEZ_bla_POINT_com">bla bli blu</a>



En n'oubliant pas de faire appel au script cité plus haut avec
CODE


<script type="text/javascript" src="tonfichier.js"></script>


Dans la partie <head>

@+
ElMoustiko
Un truc dans le même style je crois, mais j'ai pas regardé en détail.

http://www.badboy.ro/articles/2005-01-25/index.php (en anglais)

Par ailleurs, il faut savoir que ce n'est pas infaible, et qu'il faut tout de même renseigner un minimum ton adresse email dans la source, mais juste modifiée pour avoir moins de chance d'être reconnue par les robots (_CHEZ_, _POINT_), en cas de JavaScript inactif chez le visiteur, il vera cette adresse avec _CHEZ_ et _POINT_ mais ça reste compréhensible pour l'utilisateur en général je pense.
jojolapine
Euh j'ai essayer de rentrer tt ça ds ma source mais j'arrive pas...
je balance ma source en espérants que tu puisse me la remettre avec le code que tu m'as donné au bon endroit....
stp, merci
jo



source:


<html>
<head>
<meta name="description" content="piquet, piquets, échalas, bois, vigne, parcs, parc, acacias, acacia, chataignier, chataigniers, châtaigniers, châtaignier">
<title>index</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>


<div align="center">











<h1>Paul-luc Brun</h1>

<p></p>

</div>

</html>

et par la même occasion est-ce que la meta dans head pour le référencement et bonne?
merci
jojolapine
ah merde dsl je savais pas que ça allait prendre forme le html
dsl
j'essaye de la mettre en image
ElMoustiko
Tu crées un fichier hackSpamBot.js (par exemple) Dedans tu mets le code que j'ai donné plus haut (la fonction hackSpamBot) Ensuite, tu appelles ce fichier de script avec
CODE
<script type="text/javascript" src="hackSpamBot.js"></script>
Dans la partie <head>...</head> Et enfin, quand tu écris tes adresses emails, tu les écris comme ça :
CODE
<a href="mailto:tonadresse_CHEZ_tonfournisseur_POINT_extension">
_CHEZ_ à la place de "@" et _POINT_ à la place de "." donc, avec un email du genre, toto@hotmail.com, ça donnera toto_CHEZ_hotmail_POINT_com Et voilà wink.gif Pour insérer du html dans les messages, utilise les balises BBcode [ code] et [/ code] (sans espace) et insères ton code dedans wink.gif
Antoine
[quote]Pour insérer du html dans les messages, utilise les balises BBcode [ code] et [/ code] (sans espace) et insères ton code dedans [/quote] Au mieux, si tu veux nous faire plaisir, tu le mets même en couleur smile.gif http://www.ac-graphic.net/Colorer.php5
jojolapine
je prend note pour l'intégration d'html ds les messages...
Mais pour ce qui est du fichier hackSpamBot.js , j'ai pas bien compris à partir de koi le créer, dreamweaver, autres logiciels, je pige pas...
dsl je suis pas très doué mais bon
merci d'avance
jo
ElMoustiko
Tu peux le faire avec dreamweaver si tu veux, le bloc note suffit à vrai dire !

tu copies colles ça :
CODE


function hackSpamBot2() {

  var emails = document.getElementsByTagName('a');

  var arobase = '@';

  for (var i = 0; i < emails.length; i++) {

     if (emails[i].getAttribute('class') == 'hackSpamBot') {

        var mailtoMan = emails[i].href.substring(0,emails[i].href.indexOf('_CHEZ_'));

        var mailtoDomain = emails[i].href.substring(emails[i].href.indexOf('_CHEZ_')+6,emails[i].href.indexOf('_POINT_'));

        var mailtoDomainExt = emails[i].href.substring(emails[i].href.indexOf('_POINT_')+7,emails[i].href.length);

        emails[i].href = mailtoMan + arobase + mailtoDomain + '.' + mailtoDomainExt;

     }

  }

}



Tu sauvegardes en hackSpamBot.js et ça roule.
ElMoustiko
Antoine, il manque la coloration JavaScript sur ton bidule wink.gif
jojolapine
bon j'ai réussi à créer le fichier
et j'ai fait un formulaire grâce à un numéro de svm.
donc ds ma page où il ya un bouton pour envoyer un e-mail, j'ai mis un lien sur cette icone pour aller à la page dont je vous donne le code:

CODE


<?

$votre_email="<a href="mailto:joris_mulliez_CHEZ_hotmail_POINT_com">";

$titre="vous avez reçu un courriel via votre site web";

$contenu="voici son contenu \n";

$contenu.="Nom de l'expéditeur : $nom \n";

$contenu.="Adresse de l'expéditeur : $adresse \n";

$contenu.="Commentaire de l'expéditeur : $commentaire \n";

mail($votre_email,$titre,$contenu);

?>

<html>

<head>

<title>mail</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>



<body>

<center><b>Merci pour votre message</b></center>

</body>

</html>



<html>

<head>

<title>Formulaire de Contact Modèle SVM</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<style><!--

-->

</style>

</head>

<body bgcolor="#ffffff">

<form name="contact" method="post" action="envoi.php">

   <table width="500" align="center" cellpadding="0" cellspacing="1" border="0">

   <tr>

     <th colspan="2">Formulaire de contact</th>

         </tr>

   <tr>

     <td align="right" width="150">Nom :</td>

     <td>

       <input type="text" name="nom" size="20">

     </td>

         </tr>

   <tr>

     <td align="right" width="150">Adresse :</td>

     <td>

       <input type="text" name="adresse" size="20">

     </td>

         </tr>

   <tr>

     <td align="right" width="150" valign="top">Commentaire :</td>

     <td>

       <textarea name="commentaire" rows="5" cols="45"></textarea>

     </td>

         </tr>

   <tr>

     <th colspan="2">

       <input type="submit" name="action" value="Envoyer">

     </th>

         </tr>

 </table>

</form>

</body>

</html>



le problème c'est que je reçois pas d'e-mail et je voi pas où ça cloche...
et ya aussi un soucis, c'est que dans iexpore ya pas que le formulaire qui s'affiche (alors que ds firefox si)...
est-ce que vous auriez le courage de tester mon code s'il vous plait
merci
jo
jojolapine
je pense que le soucis c'est cette ligne:
CODE


<script type="text/javascript" src="antispam.js"></script>


parce que le texte se colore pas de la même couleur que le reste du code, alors je sais pas je comprend vraiment pas ce qui va pas...
jo
ElMoustiko
Dans le code que tu nous donnes tu as 2 fois <html>...</html> :shock:
et je vois pas la ligne de code d'appel du fichier JS.
jojolapine
je vais devenir fous je crois.... :cogne:
Bon je vais tenter de vous donner tt ce que j'ai concernat cet antispam et ce formulaire (je pense qu'après je dirai stop)
Bon alors récapitulons:
Mon bouton sur le site pour envoyer un mail est relier à cette page:
CODE


<html>

<head>

<title>Demande d'information</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script type="text/javascript" src="hackSpamBot.js"></script>

</head>

<body bgcolor="#ffffff">

<form name="contact" method="post" action="envoi.php">

   <table width="500" align="center" cellpadding="0" cellspacing="1" border="0">

   <tr>

     <th colspan="2">Formulaire de contact</th>

         </tr>

   <tr>

     <td align="right" width="150">Nom :</td>

     <td>

       <input type="text" name="nom" size="20">

     </td>

         </tr>

   <tr>

     <td align="right" width="150">Adresse :</td>

     <td>

       <input type="text" name="adresse" size="20">

     </td>

         </tr>

   <tr>

     <td align="right" width="150" valign="top">Demande d'information:</td>

     <td>

       <textarea name="commentaire" rows="5" cols="45"></textarea>

     </td>

         </tr>

   <tr>

     <th colspan="2">

       <input type="submit" name="action" value="Envoyer">

     </th>

         </tr>

 </table>

</form>

</body>

</html>


voici ensuite le fichier hackSpamBot qui est appeler ds le head de la page ci-dessus:
CODE




function hackSpamBot2() {

  var emails = document.getElementsByTagName('a');

  var arobase = '@';

  for (var i = 0; i < emails.length; i++) {

     if (emails[i].getAttribute('class') == 'hackSpamBot') {

        var mailtoMan = emails[i].href.substring(0,emails[i].href.indexOf('_CHEZ_'));

        var mailtoDomain = emails[i].href.substring(emails[i].href.indexOf('_CHEZ_')+6,emails[i].href.indexOf('_POINT_'));

        var mailtoDomainExt = emails[i].href.substring(emails[i].href.indexOf('_POINT_')+7,emails[i].href.length);

        emails[i].href = mailtoMan + arobase + mailtoDomain + '.' + mailtoDomainExt;

     }

  }

}


et pour finir la page envoi.php qui est également appelé ds le premier document
CODE


<?

// le <? est la balise d'ouverture du php

$votre_email="<a href="mailto:joris_mulliez_CHEZ_hotmail_POINT_com">";

$titre="courriez pour paul-luc";

$contenu="voici son contenu \n";

$contenu.="Nom de l'expéditeur : $nom \n";

$contenu.="Adresse de l'expéditeur : $adresse \n";

$contenu.="Commentaire de l'expéditeur : $commentaire \n";

$entete="From: info@monsite.com";

mail($votre_email,$titre,$contenu,$entete);

// fin du php

?>

<html>

<head>

<title>envoi du mail</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>



<body>

<center><b>Merci pour votre message</b></center>

</body>

</html>


j'espère que j'ai été un petit peu clair (encore dsl pour tt ces posts énormes, mais là je patauge vraiment)
merci d'avance pour vos conseil éclairé...
jo
ElMoustiko
Arf ! merde !
Tu avais mal expliqué ton problème en fait je crois :/

Tu as un formulaire et tu veux empecher les robots de l'utiliser.
Je pensais que tu avais des adresses email dans ta page et que tu voulais que les robots ne les suivent pas...

Donc, là rien à voir.

Pour ton truc, il faudra voir du coté de CAPTCHA
Voilà qui devrait t'aider :
http://www.sutekidane.net/blog/essai-de-fo...accessible.html
jojolapine
Je souhaite m'excuser pour tt le dérangement... parce qu'en fait j'ai trouvé la solution, mais ailleur qu'içi...
Pour me faire pardonner, je vous la donne:
CODE


         <p><script language="JavaScript">

<!--

function writeIt(desc,name,at,dot) {

 var xcdf = 'ilto';

 var trc = 'ma';

 var trf = ':';

 var trouc =  name + '&#64;';

 trouc = trouc + at + '.' + dot;

 if (desc == "") { desc = trouc }

document.write('<a href=\"'+trc+xcdf+trf +trouc + '\">');

document.write(desc+ '</a>');

}

-->

</script>



<script language="JavaScript">writeIt("","tonadresse","domaine","extension");</script></p>


voila du coup j'ai abandonné la feuille de style
merci quand-même pour tte ces aides que vous m'avez donné
jo
ElMoustiko
Arff bah faudrait savoir...

La solution que tu proposes se base sur le même principe exactement que la mienne, sauf qu'elle est bien moins propre... m'enfin...
jojolapine
encore dsl hein...
Mais j'arrivai pas à mettre ta solution je sais pas pourkoi ça marchait pas...
Mais n'en parlons plus
Sans rancune?
jo
ElMoustiko
Bah moi je m'en fout un peu ^^
C'est juste qu'au final, j'ai rien compris de ce que tu voulais !!!!!

Enfin, si ça marche ton truc, c'est tant mieux...
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.