Aide - Recherche - Membres - Calendrier
Version complète : Eviter le spam sur le mail de son site perso
Les Forums de PalmAttitude.org > HORS-SUJET > Divers (non PalmOS)
MarieC
Ceci devrait intéresser tous ceux d'entre nous qui ont un (petit ou grand) site perso avec une adresse e-mail de contact...

Si vous êtes victime de spam à cause des bots qui viennent chercher les adresses mails sur les pages web, voici une solution élégante. Le site en question propose deux solutions, à l'aide de javascript, qui vous permetront de cacher votre adresse mail tout en la laissant disponible par vos visiteurs.

icon_arrow.gif http://www.henri-ruch.ch/Utilitaires/CodeM.../CodageMail.asp
WiLL
Et comme je suis gentil, voici ma solution qui est, je trouve, un peu plus sérieuse que la solution du site de MarieC :
CODE
<?

function AffMail($mail){

$mail1=explode("@",$mail);

$mail2=explode(".",$mail1[1]);

$mail="'".$mail1[0]."x40Z".$mail2[0]."'.replace(/Z/g,"")+"."+'".$mail2[1]."yyy'.replace(/y/g,"")";

$asc_mail="";

for($i=0;$i<strlen($mail);$i++)  

 $asc_mail.=base_convert(ord($mail[$i]),10,16);

?>

<script type="text/javascript">

var d="";

var a="";

var b="";

for(var i=0;i<<? echo strlen($asc_mail); ?>;i+=2) {

a=parseInt("<? echo $asc_mail; ?>".substr(i,2),16);

b=String.fromCharCode(a);

d+=b;

}

document.write('<AXHRKEF="maiKlto:'.replace(/X/g," ").replace(/K/g,"")+eval(d)+'">'+eval(d)+'</X>'.replace(/X/g,"A"));

</script>

<?

}

?>


Bien sûr, il faut que votre site accepte le PHP ...
Pour lancer cette fonction : mettez AffMail("mon_adresse@mon_site.com")...
glou
j'ai pas tout compris !

tu mets ou le morceau de PHP ?

Et ou mets tu AffMail("mon_adresse@mon_site.com")... ?

Merci
Limerick
CITATION(WiLL)
Et comme je suis gentil, voici ma solution qui est, je trouve, un peu plus sérieuse que la solution du site de MarieC :


CODE
<?

function AffMail($mail){

$mail1=explode("@",$mail);

$mail2=explode(".",$mail1[1]);

$mail="'".$mail1[0]."x40Z".$mail2[0]."'.replace(/Z/g,"")+"."+'".$mail2[1]."yyy'.replace(/y/g,"")";

$asc_mail="";

for($i=0;$i<strlen($mail);$i++)  

 $asc_mail.=base_convert(ord($mail[$i]),10,16);

?>

<script type="text/javascript">

var d="";

var a="";

var b="";

for(var i=0;i<<? echo strlen($asc_mail); ?>;i+=2) {

a=parseInt("<? echo $asc_mail; ?>".substr(i,2),16);

b=String.fromCharCode(a);

d+=b;

}

document.write('<AXHRKEF="maiKlto:'.replace(/X/g," ").replace(/K/g,"")+eval(d)+'">'+eval(d)+'</X>'.replace(/X/g,"A"));

</script>

<?

}

?>


Bien sûr, il faut que votre site accepte le PHP ...
Pour lancer cette fonction : mettez AffMail("mon_adresse@mon_site.com")...



Heu... ça fait quoi cette fonction ? 8O

Et pour un novice, en quoi cette solution est plus sérieuse que celle de MarieC icon_question.gif
Patrice
La grosse différence entre les 2 est que les solutions "MarieC" sont statiques (les adresses sont encodées une fois pour toute) alors que celle de Will encode à la volée et sur le serveur une adresse quelconque.

Mais, dans le fond, c'est le même principe donc la première version me paraît tout à fait suffisante et moins contraignante... anim_wink.gif
Limerick
CITATION(Patrice)
La grosse différence entre les 2 est que les solutions "MarieC" sont statiques (les adresses sont encodées une fois pour toute) alors que celle de Will encode à la volée et sur le serveur une adresse quelconque.

Mais, dans le fond, c'est le même principe donc la première version me paraît tout à fait suffisante et moins contraignante... anim_wink.gif


Ah oui c'est retaillé effectivement.

J'ai un petit site perso ou l'on peut me contacter en cliquant sur le mot webmaster.
Dans ces conditions, mon adresse est-elle spamable ? Les robots savent-ils récupérer les adresses présentées ainsi ?
Schtunks
CITATION(Limerick)
J'ai un petit site perso ou l'on peut me contacter en cliquant sur le mot webmaster.  
Dans ces conditions, mon adresse est-elle spamable ? Les robots savent-ils récupérer les adresses présentées ainsi ?


Je pense que si dans le code html tu as un nom@fai.fr, tu es "spammable"... icon_evil.gif
Patrice
Quelque soit le moyen employé, si une adresse mail apparaît en clair dans le source HTML, elle est aspirée. En fait, même un texte qui n'est pas une adresse mais qui contient un '@' va l'être. A la limite, en remplaçant le '@' par '%40', c'est déjà un début de protection.
oliricha
Oui, tous ses trucs de "codage" de l'adresse ne sont pas forcément très fiable.

La seule solution que j'utilise et qui est fiable est de ne pas donner son adresse e-mail, mais d'afficher un formulaire de contact en PHP ou Perl/CGI par exemple. Dans se cas, l'adresse e-mail n'est pas dans la source HTML vu que c'est le serveur (hébergeur) qui envoi le mail.

Sinon, si la page affichant l'e-mail n'est pas référencée elle ne devrait pas non plus être aspirée.
glou
mais on fait comment pour integrer ca a sa page PHP ?

Merci
snark
Quel est l'intérêt d'avoir une telle fonction d'"encryption" dans du code PHP, donc interprété "server side"? Car à la fin, la page HTML produite par le script PHP retourne un <a href="mailto:xxx@xxx.xxx"> et c'est le HTML, et non le script PHP, que les "spiders" qui cherchent le Web pour trouver des addresses email vont récupérer et "parser".

L'idéal est du javascript, ou autre mais interpreté "client side", ou un formulaire comme dit ci-dessus.
Limerick
CITATION(Patrice)
Quelque soit le moyen employé, si une adresse mail apparaît en clair dans le source HTML, elle est aspirée. En fait, même un texte qui n'est pas une adresse mais qui contient un '@' va l'être. A la limite, en remplaçant le '@' par '%40', c'est déjà un début de protection.


Bon alors j'ai une petite question naïve : si j'ai un script qui empêche d'afficher la source par le clic-droit, est-ce que ça suffit... ?
glou
Et donc la premier solution n''est pas au point non plus ?

Merci
Limerick
CITATION(snark)
Quel est l'intérêt d'avoir une telle fonction d'"encryption" dans du code PHP, donc interprété "server side"? Car à la fin, la page HTML produite par le script PHP retourne un <a href="mailto:xxx@xxx.xxx"> et c'est le HTML, et non le script PHP, que les "spiders" qui cherchent le Web pour trouver des addresses email vont récupérer et "parser".

L'idéal est du javascript, ou autre mais interpreté "client side", ou un formulaire comme dit ci-dessus.


Quand tu dis "ci-dessus" snark, tu parles des javascripts proposés par MarieC, la solution 2 plus exactement ?
snark
CITATION(Limerick)
Quand tu dis "ci-dessus" snark, tu parles des javascripts proposés par MarieC, la solution 2 plus exactement ?

Non, ce qui disait oliricha.
Limerick
Ah OK, mais lui ne parlait pas de javascript.

Sinon, les robots ne doivent pas s'embêter à décrypter des adresses e-mails codées, si ?
MarieC
CITATION(snark)
Quel est l'intérêt d'avoir une telle fonction d'"encryption" dans du code PHP, donc interprété "server side"? Car à la fin, la page HTML produite par le script PHP retourne un <a href="mailto:xxx@xxx.xxx"> et c'est le HTML, et non le script PHP, que les "spiders" qui cherchent le Web pour trouver des addresses email vont récupérer et "parser".

L'idéal est du javascript, ou autre mais interpreté "client side", ou un formulaire comme dit ci-dessus.

Je pense la même chose rolleyes.gif
Patrice
CITATION(snark)
Quel est l'intérêt d'avoir une telle fonction d'"encryption" dans du code PHP, donc interprété "server side"? Car à la fin, la page HTML produite par le script PHP retourne un <a href="mailto:xxx@xxx.xxx"> et c'est le HTML, et non le script PHP, que les "spiders" qui cherchent le Web pour trouver des addresses email vont récupérer et "parser".

L'idéal est du javascript, ou autre mais interpreté "client side", ou un formulaire comme dit ci-dessus.

Ce qui apparaît dans le HTML produit n'est justement plus une adresse "lisible" puisqu'elle est encodée (en hexadécimal, à première vue). Donc les aspirateurs idiots ne retrouvent pas les '@'. Cependant, il est vrai que le 'mailto:' peut suffire à détecter une adresse...
Limerick
CITATION(Patrice)
Donc les aspirateurs idiots ne retrouvent pas les '@'. Cependant, il est vrai que le 'mailto:' peut suffire à détecter une adresse...


Mais y a-t-il des aspirateurs intelligents qui savent décoder l'hexadécimal ?
Auquel cas la solution 1 d'Henri Ruch pourrait être suffisante, non ?
snark
CITATION(Limerick)
Mais y a-t-il des aspirateurs intelligents qui savent décoder l'hexadécimal ?
Auquel cas la solution 1 d'Henri Ruch pourrait être suffisante, non ?

Ce type d'"URL encoding" ("mailto:%74%6F%74%6F%40%74%6F%74%6F%2E%63%6F%6D") n'est pas très complexe à décoder. Si j'étais un spammeur et écrivais un tel aspirateur, c'est un des premiers trucs que j'implémenterais.
Limerick
CITATION(snark)
Ce type d'"URL encoding" ("mailto:%74%6F%74%6F%40%74%6F%74%6F%2E%63%6F%6D") n'est pas très complexe à décoder. Si j'étais un spammeur et écrivais un tel aspirateur, c'est un des premiers trucs que j'implémenterais.


Il faut donc plutot choisir la solution n°2 comme préconisé ou cell de Will, mais où les met on dans le code html ?
Pokefan +
Evidemment, le formulaire avec la fonction PHP mail() à la clef est la plus sûre.
Mais en restant côté JavaScript, pourquoi ne pas tout simplement écrire :
CODE
<script language=JavaScript>document.write ("m"+"a"+"i"+"l"+"t"+"o"+":"+"n"+"o"+"m"+"@"+"f"+"a"+"i"+"."+"f"+"r");</script>


C'est tout bête, mais ça devrait dérouter plus d'un robot spammeur... Sans aller chercher un script si complexe et long que ceux qui ont été proposés, il permet déjà une plus grande sécurité (rien n'empêche d'ajouter autre chose pour l'embêter encore plus) : je doute qu'on ait déjà fait des robots capables de déchiffrer le JavaScript.
glou
Bon ben moi j'y comprend plus rien !
Celle la est bonne mais l'autre moins, ... !!
On parle desquelles ?

Un petit recapitulatif des meilleur technique et l'explication de comment et ou on les integre serai le bien venu !
Limerick
CITATION(glou)
Bon ben moi j'y comprend plus rien !
Celle la est bonne mais l'autre moins, ... !!  
On parle desquelles ?

Un petit recapitulatif des meilleur technique et l'explication de comment et ou on les integre serai le bien venu !


Ben moi je suis tout pareil que glou icon_lol2.gif :? anim_wink.gif
Pokefan +
OK, je récapitule anim_wink.gif !

J'ai classé les solutions proposées dans ce thread, de la meilleure à la moins bonne, selon moi...



Solution 1 : formulaire HTML puis fonction mail()
Comment l'intégrer à la page ?
C'est le plus compliqué : il faut d'abord créer un formulaire en HTML.
CODE
<form action=send.php>

Entrez votre texte ici :

<br><textarea name=msg cols=50 rows=10></textarea>

<br><input type=submit value=Envoyer>

</form>

Ceci doit se placer là où vous voulez que votre visiteur tape le texte.
Puis dans une page send.php du même répertoire :
CODE
<? mail (

       "votrenom@votrefournisseurdacces.com",

       "Un visiteur vous envoie un courrier électronique", /* Ca c'est le sujet du message */

       $msg

);

echo "<script language=JavaScript>alert ('Mail envoyé !'); history.go (-1); </script>";

?>


Voilà pour la méthode la plus fiable, j'espère ne pas avoir fait d'erreur : il faut que votre site WEB supporte le PHP.
Inconvénient : le visiteur n'utilise pas son logiciel de messagerie préféré.
Avantage certain : personne ne peut connaître votre adresse, même un humain ne peut pas la trouver.



Solution 2 : solution de Will
Comment l'intégrer à la page ?
Placer le script proposé par Will au début de la page, puis utiliser le script suivant là où vous voulez que le lien apparaisse. Là encore, l'hébergeur doit supporter PHP.
CODE
<? AffMail ("votrenom@fai.com"); ?>




Solution 3 : solution n°2 du site proposé au départ.
Comment l'intégrer à la page ?
Placer le script généré par le générateur là où vous voulez que le lien s'affiche.
Inconvénient : il faut repasser par le générateur à chaque fois que vous changez d'adresse.


Solution 4 : ma solution
Voir plus haut anim_wink.gif

Solution 5 : solution n°1 du site proposé au départ
Comment l'intégrer à la page ?
Il suffit de placer le script à l'endroit où vous voulez que le lien s'affiche.


Voilà voilà ! icon_biggrin.gif
WiLL
Pourquoi ce script

Bon alors je vais expliquer un peu ma solution ...
Je suis parti de la même constatation que tout le monde : "Dès que tu as une adresse qui figure en clair sur un site Web, tu es spammable et donc tu seras spammé à terme"

Comment ça marche ?

Donc j'ai cherché une idée et j'ai commencé avec une solution proche de celle proposée par MarieC, et je me suis dit la même chose que Snark : "Si j'étais un spammeur et écrivais un tel aspirateur, c'est un des premiers trucs que j'implémenterais." Donc j'ai cherché à corser un peu la chose.

et j'ai écris ce script :
CODE
<script type="text/javascript">

    var d="";

    var a="";

    var b="";

    for(var i=0;i<130;i+=2) {  a=parseInt("276d616e7565405a6c6163617665726e65272e7265706c616365282f5a2f672c2222292b222e
22b276e6574797979272e7265706c616365282f792f672c222229".substr(i,2),16);

    b=String.fromCharCode(a);

    d+=b;

    }

    document.write('<AXHRKEF="maiKlto:'.replace(/X/g," ").replace(/K/g,"")+eval(d)+'">'+eval(d)+'</X>'.replace(/X/g,"A"));

    </script>

Suite aux messages que j'ai reçu : CECI N'EST PAS LE SCRIPT A INSERER DANS VOS PAGES ! Ce n'est qu'un exemple avec MON adresse mail codée

L'adresse est dans la suite de chiffre, mais là si vous avez suivi vous devriez me dire : "oui mais c'est la même solution que MarieC, chaque lettre à son code hexadécimal ..." et vous auriez tord car la chaine correspond en fait à :
"'mon_nom'."x40Z".'mon_site'."'.replace(/Z/g,"")+"."+'".'com'."yyy'.replace(/y/g,"")"

Donc même si un robot remet la chaîne en forme, il ne retrouvera pas l'adresse mail originale.

Pourquoi en avoir fait un script PHP ?

Comme on l'a vu, à chaque fois que je veux mettre une adresse mail dans une page, il faut refaire la chaîne ... donc PHP va le faire pour nous.

Comment insérer le script dans vos pages ?

Mon script n'est pas parfait, loin de là même donc ...
Pour insérer le code dans votre page, si vous êtes un pro du PHP, sautez ce passage sinon :
- Assurez-vous d'avoir un hébergeur qui dui supporte le PHP
- Renommez votre page 'contact.htm" en "contact.php" par exemple
- En haut de votre page, copier le script que j'ai posté.
- A l'endroit où vous souhaitez écrire votre adresse mail, écrivez <? AffMail("mon_nom@mon_site.com"); ?>

Exemple complet :

Une page "contact.php" :
CODE
<?

function AffMail($mail){

$mail1=explode("@",$mail);

$mail2=explode(".",$mail1[1]);

$mail="'".$mail1[0]."x40Z".$mail2[0]."'.replace(/Z/g,"")+"."+'".$mail2[1]."yyy'.replace(/y/g,"")";

$asc_mail="";

for($i=0;$i<strlen($mail);$i++)

 $asc_mail.=base_convert(ord($mail[$i]),10,16);

?>

<script type="text/javascript">

var d="";

var a="";

var b="";

for(var i=0;i<<? echo strlen($asc_mail); ?>;i+=2) {

a=parseInt("<? echo $asc_mail; ?>".substr(i,2),16);

b=String.fromCharCode(a);

d+=b;

}

document.write('<AXHRKEF="maiKlto:'.replace(/X/g," ").replace(/K/g,"")+eval(d)+'">'+eval(d)+'</X>'.replace(/X/g,"A"));

</script>

<?

}

?>

<HTML>

<HEAD>

<TITLE>Contactez-moi</TITLE>

</HEAD>

<BODY>

Bonjour à tous, si vous souhaitez m'écrire, mon adresse est <? AffMail("mon_nom@mon_site.com"); ?>

</BODY>

</HTML>
Limerick
Un GRAND merci à Pokefan+ et à WiLL pour leurs explications.

Je dis merci d'abord parce que j'apprécie l'effort... et je vais lire tout cela derechef icon_biggrin.gif
WiLL
Excellent, en fait on s'est croisé avec Pokéfan+ .... icon_biggrin.gif
MarieC
Bravo vous deux anim_bravo.gif
Je ne pensais pas susciter un tel enthousiasme en postant ici un lien trouvé au fil de mes pérégrinations sur le web... icon_lol2.gif
Calino
Y'avait plus simple...

Aficher l'adresse electronique par une image icon_idea.gif
Limerick
...heu ça marche pas super WiLL :?

Y a quelque chose que j'ai pas dû comprendre... forcément icon_bla.gif

Alors ma ligne initiale est :

...vous pouvez contacter le <a href="mailto:webmaster@xxxxxx.com">Webmaster</a>.

J'ai donc ajouté le script suscité (qui est d'ailleurs plus long en page 2 qu'en page 1 de ce topic) et ai écrit :

...vous pouvez contacter le <a href="<? AffMail("webmaster@xxxxxx.com"); ?>">Webmaster</a>

Au résultat j'ai eu une erreur 224 à la place du lien et en haut de ma page, j'ai eu une adresse que je ne connais pas : manue@lataverne.com 8O icon_lol2.gif anim_wink.gif

Ou ai-je glissé ?
Patrice
CITATION(Calino)
Aficher l'adresse electronique par une image icon_idea.gif
anim_endesaccord.gif c'est le lien qui compte, pas l'adresse qui est affichée !
Calino
???? 8O 8O

Keskidi ?

Je voulais dire : tu va sous un logiciel type photoshop, tu crée un fichier image et dessus tu écris l'adrese courriel...

Je ne connais pas un seul reobot qui peut lutter contre ca !
Certe, c'est pas du PHP, mais c'est tout simple !!!
Limerick
CITATION(Calino)
???? 8O  8O  

Keskidi ?

Je voulais dire : tu va sous un logiciel type photoshop, tu crée un fichier image et dessus tu écris l'adrese courriel...

Je ne connais pas un seul reobot qui peut lutter contre ca !
Certe, c'est pas du PHP, mais c'est tout simple !!!


Le but est de pouvoir cliquer sur un mot qui ouvre un client e-mail : une image ne fait pas cela, il faut recopier l'adresse anim_wink.gif
WiLL
Limerick : J'ai complété mon message en page 2 ...
Calino
CITATION(Limerick)
Le but est de pouvoir cliquer sur un mot qui ouvre un client e-mail : une image ne fait pas cela, il faut recopier l'adresse anim_wink.gif

icon_lol2.gif au boulot les feignants ! Nan mais !!
Limerick
CITATION(WiLL)
Une page "contact.php" :


CODE
<?

function AffMail($mail){

$mail1=explode("@",$mail);

$mail2=explode(".",$mail1[1]);

$mail="'".$mail1[0]."x40Z".$mail2[0]."'.replace(/Z/g,"")+"."+'".$mail2[1]."yyy'.replace(/y/g,"")";

$asc_mail="";

for($i=0;$i<strlen($mail);$i++)

 $asc_mail.=base_convert(ord($mail[$i]),10,16);

?>

<script type="text/javascript">

var d="";

var a="";

var b="";

for(var i=0;i<<? echo strlen($asc_mail); ?>;i+=2) {

a=parseInt("<? echo $asc_mail; ?>".substr(i,2),16);

b=String.fromCharCode(a);

d+=b;

}

document.write('<AXHRKEF="maiKlto:'.replace(/X/g," ").replace(/K/g,"")+eval(d)+'">'+eval(d)+'</X>'.replace(/X/g,"A"));

</script>

<?

}

?>

<HTML>

<HEAD>

<TITLE>Contactez-moi</TITLE>

</HEAD>

<BODY>

Bonjour à tous, si vous souhaitez m'écrire, mon adresse est <? AffMail("mon_nom@mon_site.com"); ?>

</BODY>

</HTML>



Plusieurs questions... icon_bla.gif

1) Si on a déjà du PHP (page de login de DAlbum), faut-il insérer ce code entre les balises PHP déjà existantes ou bien le rajouter à la suite du premier, avant la balise <HTML> ?

2) Si on souhaite avoir quelque chose du style :
"Pour me contacter, cliquer ici", comment procède-t-on ?
snark
CITATION(Limerick)
1) Si on a déjà du PHP (page de login de DAlbum), faut-il insérer ce code entre les balises PHP déjà existantes ou bien le rajouter à la suite du premier, avant la balise <HTML> ?

2) Si on souhaite avoir quelque chose du style :
"Pour me contacter, cliquer ici", comment procède-t-on ?

1) ça ne devrait pas avoir d'importance mais je te suggère de le mettre entre les balises existantes (je ne connais pas bien PHP, mais je suppose que c'est comme les JSP).

2) version modifiée, appellée AffMail2 qui supporte un texte différent de l'adresse email:

CODE
<?

function AffMail2($mail,$texte){

$mail1=explode("@",$mail);

$mail2=explode(".",$mail1[1]);

$mail="'".$mail1[0]."x40Z".$mail2[0]."'.replace(/Z/g,"")+"."+'".$mail2[1]."yyy'.replace(/y/g,"")";

$asc_mail="";

for($i=0;$i<strlen($mail);$i++)

 $asc_mail.=base_convert(ord($mail[$i]),10,16);

?>

<script type="text/javascript">

var d="";

var a="";

var b="";

for(var i=0;i<<? echo strlen($asc_mail); ?>;i+=2) {

a=parseInt("<? echo $asc_mail; ?>".substr(i,2),16);

b=String.fromCharCode(a);

d+=b;

}

document.write('<AXHRKEF="maiKlto:'.replace(/X/g," ").replace(/K/g,"")+eval(d)+'">'+$texte+'</X>'.replace(/X/g,"A"));

</script>

<?

}

?>

Ca s'utilise de la façon suivante:
CODE
Pour me contacter, cliquez <? AffMail2("mon_nom@mon_site.com", "ici"); ?>.
Limerick
CITATION(snark)
2) version modifiée, appellée AffMail2 qui supporte un texte différent de l'adresse email:

CODE
<?

function AffMail2($mail,$texte){

$mail1=explode("@",$mail);

$mail2=explode(".",$mail1[1]);

$mail="'".$mail1[0]."x40Z".$mail2[0]."'.replace(/Z/g,"")+"."+'".$mail2[1]."yyy'.replace(/y/g,"")";

$asc_mail="";

for($i=0;$i<strlen($mail);$i++)

 $asc_mail.=base_convert(ord($mail[$i]),10,16);

?>

<script type="text/javascript">

var d="";

var a="";

var b="";

for(var i=0;i<<? echo strlen($asc_mail); ?>;i+=2) {

a=parseInt("<? echo $asc_mail; ?>".substr(i,2),16);

b=String.fromCharCode(a);

d+=b;

}

document.write('<AXHRKEF="maiKlto:'.replace(/X/g," ").replace(/K/g,"")+eval(d)+'">'+$texte+'</X>'.replace(/X/g,"A"));

</script>

<?

}

?>



Merci snark, je pense avoir compris ou placer le script, mais l'équivalent de cette ligne de code en HTML de base :?

CODE
...vous pouvez contacter le <a href="mailto:webmaster@xxxxxx.com">Webmaster</a>.


...c'est quoi dans le cas présent ?
snark
CITATION(Limerick)
Merci snark, je pense avoir compris ou placer le script, mais l'équivalent de cette ligne de code en HTML de base :?  
CODE
...vous pouvez contacter le <a href="mailto:webmaster@xxxxxx.com">Webmaster</a>.

...c'est quoi dans le cas présent ?

Ca devient ça:
CODE
...vous pouvez contacter le <? AffMail2("webmaster@xxxxxx.com", "Webmaster"); ?>.
WiLL
Désolé Snark mais ça ne marchera pas .... anim_wink.gif

Version corrigée :
CODE
<?

function AffMail2($mail,$texte){

$mail1=explode("@",$mail);

$mail2=explode(".",$mail1[1]);

$mail="'".$mail1[0]."x40Z".$mail2[0]."'.replace(/Z/g,"")+"."+'".$mail2[1]."yyy'.replace(/y/g,"")";

$asc_mail="";

for($i=0;$i<strlen($mail);$i++)

 $asc_mail.=base_convert(ord($mail[$i]),10,16);

?>

<script type="text/javascript">

var d="";

var a="";

var b="";

for(var i=0;i<<? echo strlen($asc_mail); ?>;i+=2) {

a=parseInt("<? echo $asc_mail; ?>".substr(i,2),16);

b=String.fromCharCode(a);

d+=b;

}

document.write('<AXHRKEF="maiKlto:'.replace(/X/g," ").replace(/K/g,"")+eval(d)+'">'+'<? echo $texte; ?>'+'</X>'.replace(/X/g,"A"));

</script>

<?

}

?>

Ca s'utilise de la façon suivante:
CODE
Pour me contacter, cliquez <? AffMail2("mon_nom@mon_site.com", "ici"); ?>.

Et en aucun cas vous ne devez mettre votre adresse e-mail en 2ème argument car il ne sera pas crypté....
Limerick
CITATION(WiLL)
Et en aucun cas vous ne devez mettre votre adresse e-mail en 2ème argument car il ne sera pas crypté....



Gnarrggghhh :? icon_bla.gif icon_cry2.gif Et c'est quoi le "2ème argument", le cousin du 5ème élément icon_lol2.gif anim_wink.gif

Oui je sais, le PHP c'est pas pour les enfants... mais un jour je comprendrai... peut-être rolleyes.gif

Donc que faut-il comprendre par deuxième élément ?

Et petite question subsidiaire, comment fait-on pour lui donner une couleur particulière au mot-lien ?

Par exemple, mon original en HTML était en fait :

CODE
<a href="mailto:webmaster@xxxxxxx.com" style="color: #595959">Webmaster</a>
.

Y a-t-il un moyen équivalent assez simple en PHP ?
WiLL
Le deuxième argument c'est le "ici" de l'exemple :
CODE
Pour me contacter, cliquez <? AffMail2("mon_nom@mon_site.com", "ici"); ?>.

...
Pour rajouter la couleur, pffff !!!
remplace cette ligne :
CODE
document.write('<AXHRKEF="maiKlto:'.replace(/X/g," ").replace(/K/g,"")+eval(d)+'">'+'<? echo $texte; ?>'+'</X>'.replace(/X/g,"A"));

par
CODE
document.write('<AXHRKEF="maiKlto:'.replace(/X/g," ").replace(/K/g,"")+eval(d)+'" style="color:#595959">'+'<? echo $texte; ?>'+'</X>'.replace(/X/g,"A"));
Limerick
Merci pour la couleur WiLL 8)


Et pour ce qui de l'emplacement du script, je le met à la suite de l'autre ou je l'intègre dans les mêmes balises ?
WiLL
CITATION(Limerick)
Et pour ce qui de l'emplacement du script, je le met à la suite de l'autre ou je l'intègre dans les mêmes balises ?

Tu as relu mon message en page 2, je l'ai complété ... ya un exemple complet
Limerick
CITATION(WiLL)
CITATION(Limerick)
Et pour ce qui de l'emplacement du script, je le met à la suite de l'autre ou je l'intègre dans les mêmes balises ?

Tu as relu mon message en page 2, je l'ai complété ... ya un exemple complet


Oui je l'avais relu, mais en fait je souhaiterais intégrer ton script à une page de login déjà existante.

Il y a donc un bon morceau de PHP dedans et je voulais savoir si je rajoutais le tien après le
CODE
<?

}

?>
du précédent ou si je l'intégrais quelque part dedans ?

En fait est-ce que tout le PHP se met entre des balises uniques, ou peut-on mettre chaque script les uns à la suite des autres avec leurs propres balises ?
Limerick
Bon j'ai essayé en le mettant à la suite du premier et... ça marche du tonnerre 8)

Merci beaucoup WiLL pour ton aide (snark aussi, et patrice et... MarieC... enfin merci à tous anim_wink.gif ).




Juste une dernière petite chose...

Après le mot "webmaster" servant de lien, je veux mettre un point qui est non pas de la couleur du mot en question, mais de la couleur par défaut.
Je le rajoute donc immédiatement après ton script, mais il y a invariablement un espace entre le mot et le point.
Comment peut-on supprimer cet espace ?
Pokefan +
Je pense qu'il faudrait que tu remplaces ceci :
CODE
</script>

<?

}

?>

par ceci :
CODE
</script><?

}

?>


C'est tout simple, mais un retour à la ligne est considéré comme un espace en HTML anim_wink.gif.
Limerick
C'était exactement cela icon_biggrin.gif

Merci beaucoup Pokefan + 8)
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.