Cryptage d'une adresse mail

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

darkjukka
WRInaute passionné
WRInaute passionné
 
Messages: 611
Inscription: Sam Avr 28, 2007 12:34

Cryptage d'une adresse mail

Message le Dim Juin 17, 2007 17:42

Bonjour à tous

J'ai trouvé dernièrement un bout de code PHP me permettant de crypter une adresse e-mail dans le code source mais qu'elle apparaisse en clair sur le site et que le lien soit un mailto classique quand on clique dessus.

Seulement je me suis rendu compte que cela ne marchais qu'avec Firefox, ni IE, ni Opera ne veulent m'afficher l'adresse sur la page alors qu'elle apparait bien cryptée dans le code source avec ces navigateurs.

J'aimerai donc comprendre pourquoi cela ne marche pas avec ces navigateurs ?

Voila le code :
Code: Tout sélectionner
<?php
function  email ($email ) {
if(eregi ('([^?]+)([?].*)', $email,$temp)){
$email=$temp [1]; $tout=AddSlashes ($temp[ 2]);}
$email =preg_replace( '|@|',"'+'@'+'" ,$email);
$email="var e='$email';" ;if($tout){ $email.="var f='$tout';" ;}
$email.= "document.write('<a href=\"mailto:'+e";
if( $tout){$email .="+f";}
$email.= "+'\" title=\"'+e+'\">'+e+'</a>')";
$email=chunk_split (bin2hex($email ),2, '%');
$email ='%'. substr($email ,0, strlen($email )-1);
$email=chunk_split ($email, 54,"'+\n'" );
$email= substr($email ,0, strlen($email )-4);
$email= "<script type=\"text/javascript \" language=\" javascript\"> \n<!--
eval(unescape( \n'$email')); //-->\n </script>"; echo  $email; }
?>


et celui qui fait apparaitre l'adresse
Code: Tout sélectionner
<?email( "monmail@monsite.com")?>


En cherchant je suis tombé sur cette page mais je n'arrive pas à faire fonctionner le cryptage donné, quel est le code php pour faire apparaitre à l'endroit voulu l'adresse email ?
http://www.webrankinfo.com/forums/viewtopic_57007.htm

Merci de vos réponses


carrel
WRInaute accro
WRInaute accro
 
Messages: 2702
Inscription: Mer Oct 18, 2006 15:13

Message le Dim Juin 17, 2007 17:45

Tu peux aussi regarder le site aspirine il y a un script en javascript.

rebouloup
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 194
Inscription: Mar Juin 08, 2004 22:03

Message le Dim Juin 17, 2007 18:13

Ton script n'est pas top !

L'idée est de cacher le @ pour ne pas l'avoir en clair => le top est une image du @ (un gif ou un jpeg)

puis de recomposer avec une fonction javascript les 2 parties du mail


function mail (base,domaine)
{
document.location="mailto://"+base+"@"+domaine;
}

le lien :

<a href="javascript:mail("bob","test.com");">bob<img src="monArobaze.gif">test.com</a>

et le tour est joué !

Bon visitez le site
http://www.debat-politique.com/election ... html#carte

pour profiter de la carte interactive des resultats des legislatives tout fraichement développé!

rebouloup
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 194
Inscription: Mar Juin 08, 2004 22:03

Message le Dim Juin 17, 2007 18:15

Tu peux aussi remplacer l'image du arobaz @ par les caractères "AT" !!!!!

c'est pas forcément compréhensible par les internautes mais ça peut aussi être une solution à court terme

darkjukka
WRInaute passionné
WRInaute passionné
 
Messages: 611
Inscription: Sam Avr 28, 2007 12:34

Message le Lun Juin 18, 2007 19:23

J'ai finalement trouvé un nouveau code en php qui fonctionne avec les 3 navigateurs cité donc je pense qu'il n'y aurait aucun soucis pour les autres que je n'ai pas testé.

Un code bien plus court et tout aussi puissant car en testant ma page sur le site d'aspirine il ne me trouve pas d'adresse mail alors que le lien est bel et bien un mailto donc tout roule!

rebouloup
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 194
Inscription: Mar Juin 08, 2004 22:03

Message le Lun Juin 18, 2007 19:37

N'hesites pas à nous montrer ton bout de code ou nous donner le lien ... on veut tout savoir !

darkjukka
WRInaute passionné
WRInaute passionné
 
Messages: 611
Inscription: Sam Avr 28, 2007 12:34

Message le Lun Juin 18, 2007 21:43

Code: Tout sélectionner
<?php
function hex_encode ($str)
{
$encoded = bin2hex($str);
$encoded = chunk_split($encoded, 2, '%');
$encoded = '%'.substr($encoded, 0, strlen($encoded) - 1);
return $encoded;
}
?>

En haut de page et

Code: Tout sélectionner
<a href="mailto:<?php echo hex_encode("monmail@monsite.com"); ?>">Contact</a>

pour faire apparaitre le mailto

Un simple encodage hexadécimale

rebouloup
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 194
Inscription: Mar Juin 08, 2004 22:03

Message le Lun Juin 18, 2007 22:32

Merci bien, je n'y aurai jamais pensé ... je teste dès demain.
Ca a le mérite d'éviter le javascript !


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3311
Inscription: Mar Nov 16, 2004 18:27

Message le Mar Juin 19, 2007 7:48

darkjukka a écrit:
Code: Tout sélectionner
<?php
function hex_encode ($str)
{
$encoded = bin2hex($str);
$encoded = chunk_split($encoded, 2, '%');
$encoded = '%'.substr($encoded, 0, strlen($encoded) - 1);
return $encoded;
}
?>

En haut de page et

Code: Tout sélectionner
<a href="mailto:<?php echo hex_encode("monmail@monsite.com"); ?>">Contact</a>

pour faire apparaitre le mailto

Un simple encodage hexadécimale


Pas de solution miracle, n'importe quel hackeur te ratatine ton code. La seule solution valable est de se charger de l'envoie à travers une page du site.

rebouloup
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 194
Inscription: Mar Juin 08, 2004 22:03

Message le Mar Juin 19, 2007 9:15

Pour preciser Koogar,

C'est la mise à disposition d'un formulaire, traitement puis envoi avec la fonction php "mail(...)"


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3311
Inscription: Mar Nov 16, 2004 18:27

Message le Mar Juin 19, 2007 10:58

pas compris alors, l'adresse n'apparait que dans la commande mail(), ca sert a quoi de crypter cette adresse ?

darkjukka
WRInaute passionné
WRInaute passionné
 
Messages: 611
Inscription: Sam Avr 28, 2007 12:34

Message le Mar Juin 19, 2007 11:37

Non non, ce n'est pas dans un formulaire. Dans mes formulaires l'adresse n'est absolument pas visible coté client.

J'utilise mon adresse mail avec un mailto mais aussi un formulaire de contact, cela laisse le choix libre à l'internaute.

Je ne le fais pas pour cacher mon mail à tout le monde mais belle et bien pour empêcher qu'elle soit relevée par un robot spam.

Dan_A
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 165
Inscription: Mer Déc 21, 2005 11:43

Message le Mar Juin 19, 2007 20:32

Le problème c'est que n'importe quel spambot sait lire cette adresse encodée.

darkjukka
WRInaute passionné
WRInaute passionné
 
Messages: 611
Inscription: Sam Avr 28, 2007 12:34

Message le Mer Juin 20, 2007 15:28

Ben a priori la page de chez aspirine.org qui simule un robot spam n'arrive pas à la décrypter pourtant elle en a trouvé pas mal (d'autres encodages javascript testés) donc bon.


itsme
WRInaute passionné
WRInaute passionné
 
Messages: 739
Inscription: Mer Oct 13, 2004 14:13

Message le Mer Juin 20, 2007 15:37

KOogar a écrit:Pas de solution miracle, n'importe quel hackeur te ratatine ton code. La seule solution valable est de se charger de l'envoie à travers une page du site.

Ce n'est pas les hackeurs qui utilisent les mails glanes ici et la sur les pages :)

Sinon, tu as raison a condition d'avoir un formulaire de soumission blindé, sinon c'est le site qui devient un spammeur ;)

Cryptage d'une adresse mail

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Yahoo [Bot] et 0 invités