Fonction de "cryptage" d'adresse mail

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 297 fois - Téléchargée 33 fois

Contenu du snippet

Ce code sert a générer 3 caractères aléatoires afin d'obtenir une adresse du style: nom "ed adresse.com
Cela permet de mettre les adresses e-mail de membres de forums, par exemple, en clair sur internet sans avoir peur qu'elles soient recuperées par des robots de spams

Source / Exemple :


function crypt_mail($mail)
{
 //generation de trois caractere aleatoire remplaçant le @
 $chaine = crypt(md5(rand(0,1000000)));
 $longueur = strlen($chaine);
 $nb_alea = rand(0,$longueur);
 if ($nb_alea > 3)
 {
  $remplacement = " ".substr($chaine,$nb_alea-3,3)." ";
 }
 else
 {
  $remplacement = " ".substr($chaine,$nb_alea,3)." ";
 }
  //remplacement du @ par les trois caracteres aleatoires
 $mail_crypt = str_replace("@",$remplacement,$mail);
 return $mail_crypt;
}

Conclusion :


on utilise la fonction comme ceci: <?php echo crypt_mail("nom@adresse.com"); ?>
et cela renvoie un resultat comme nom eF_ adresse.com

A voir également

Ajouter un commentaire

Commentaires

punkcity
Messages postés
28
Date d'inscription
vendredi 18 mars 2005
Statut
Membre
Dernière intervention
11 avril 2008
-
Bonjour à tous.
Petite asutce pour celles et ceux qui utilisent mysql (peut etre adapter à un fichier texte).

Dans où doit figurer l'adresse email afficher ça ($id étant ici le numero unique de la personne qui est propriétaire de l'adresse email) :
<?php echo""; ?>


On fait appel au fichier image_courriel.php qui recupere la valeur $_GET de id :

<?php
header("Content-type: image/png");
require_once('Connections/votrebase.php');

if ( (isset($_GET["id"])) && ($_GET["id"]!= "") ) {
$id=$_GET["id"];
mysql_select_db($database_votrebase, $votrebase);
$query_rsUtilisateur "SELECT id, log, email FROM utilisateurs WHERE id '$id'";
$rsUtilisateur = mysql_query($query_rsUtilisateur, $votrebase) or die(mysql_error());
$row_rsUtilisateur = mysql_fetch_assoc($rsUtilisateur);
$totalRows_rsUtilisateur = mysql_num_rows($rsUtilisateur);
// Création de l'image
$im = imagecreate(210, 16) or die ("Impossible d'initialiser la bibliothèque GD");

// Création de quelques couleurs
$background_color = imagecolorallocate ($im, 255, 239, 189);
$text_color = imagecolorallocate ($im, 0, 0, 0);

// Le texte à dessiner
$text=$row_rsUtilisateur["email"];

// Ajout du texte
imagestring ($im, 2, 5, 0, $text, $text_color);
// Utiliser imagepng() donnera un texte plus claire,
// comparé à l'utilisation de la fonction imagejpeg()
imagepng($im);
imagedestroy($im);
}
?>


ensuite on fait appel au fichier texte_courriel.php, qui permet de cliquer sur le mailto et de rediriger sur une nouvelle page :

<?php
require_once('Connections/votrebase.php');
if ( (isset($_GET['id'])) && ($_GET['id']!='') ) {
$id=$_GET['id'];
mysql_select_db($database_Punkcity, $Punkcity);
$query_rsUtilisateur "SELECT id, email, log FROM utilisateurs WHERE id '$id'";
$rsUtilisateur = mysql_query($query_rsUtilisateur, $votrebase) or die(mysql_error());
$row_rsUtilisateur = mysql_fetch_assoc($rsUtilisateur);
$totalRows_rsUtilisateur = mysql_num_rows($rsUtilisateur);
$text=$row_rsUtilisateur['email'];
header("Location: mailto:$text");
echo "<html><head><META HTTP-EQUIV='Refresh' CONTENT='0;URL=page_a_rediriger.php?id={$row_rsUtilisateur['log']}'></head> </html>";
}
?>

et voila le tour est joué pas moyen de chopper l'email.

Pour tester si vos anti-spam fonctionne utilisé la moissoneuse à spam sur cette adresse http://aspirine.org/cgi-bin/trouvemail.pl'url =&mode=malin
coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26 -
oui ça reste infaisable, et même avec mon super HD à 4TO seconde, on n'aurais jamais la carte mère qui va avec...
malik7934
Messages postés
1162
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
-
on s'comprend...
coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26 -
les ghtz n'ont rien avoir la dedans(enfin si, mais...), ici, c'est ton HD qui va craquer... t'auras besoin d'un SATA à quelques milliards de tours secondes... et que quelques TO
malik7934
Messages postés
1162
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
-
iomega, faudra que tu m'expliques comment tu arrives à faire des collisions sur md5!!!! Parce que si ta méthode fonctionne, je veux devenir ton impressario et on va gagner beaucoup d'argent!

Plus sérieusement, md5 est une fonction de hashage et la propriété de ces fonctions est qu'il est quasi impossible de trouver deux valeurs x et y telles que h(x) = h(y), de plus, il est quasi impossible de trouver un x à partir d'un h(x). Ce que tu dis faire s'appelle dans le jargon une "first preimage attack". Sachant que md5 fait 128 bits, il y a 2^128 possibilités de hashage, alors avec ton dico.txt, à moins qu'il fasse 1000 giga et que tu tourne à plusieurs dixaines de milliers de gigaherz, je crois pas que tu puisses retrouver le pwd ;o)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (leviathan516)