Mail dans image

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 320 fois - Téléchargée 32 fois

Contenu du snippet

Bah... c'est une image aléatoire avec un mail dedans... pour les paranos ;o) C'est appelé ainsi (dans HTML):
<IMG SRC="crypt_mail.php?mail=<?echo cryptit("odette","hotmail","com");?>">

Source / Exemple :


--- fichier pour appeler la fonction crypt_mail

<?php 
function cryptit($nom,$dom,$ext){

	$plain = $nom."-A-".$dom."-D-".$ext;
	$size = strlen($plain);
	
	$lettres = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	$len = strlen($lettres);

	for ($i=0;$i<$size;$i++){
		$l1 .= substr($lettres,(rand()%($len)),1);
		$l1 .= substr($plain, $i, 1);
	}
	return $l1;
}	

?>

<HTML><TITLE>Adresse mail dans Image</TITLE>
<BODY bgcolor=#ccddee>
Hello tout le monde! mon adesse mail est
<IMG SRC="crypt_mail.php?mail=<?echo cryptit("odette","hotmail","com");?>"><br />

Une seconde adresse:
<IMG SRC="crypt_mail.php?mail=<?echo cryptit("alphonse","yahoo","fr");?>">

</BODY></HTML>

--- fichier avec la fonction crypt_mail

<?php
function im_mail($m){

    $col1   = 1+rand()%254;
    $col2   = 1+rand()%254;
    $col3   = 1+rand()%254;
    $font   = 5;
    $image = imagecreate(strlen($m)*imagefontwidth($font),imagefontheight($font));
    $fond   = imagecolorallocate($image, $col1, $col2, $col3);
    $pix     = imagecolorallocate($image, $col1/2, $col2/2, $col3/2);
    $noir   = imagecolorallocate($image, 0, 0, 0);
    $blanc = imagecolorallocate($image, 255, 255, 255);
    $gris   = imagecolorallocate($image, 160, 160, 160);

    for ($i=0;$i<240;$i++){
        imagesetpixel ($image, rand()%(strlen($m)*imagefontwidth($font)), rand()%imagefontheight($font), $pix);
    }
    imagestring($image, $font, 0, -1, $m, $noir);
    imagestring($image, $font, 2, -1, $m, $noir);
    imagestring($image, $font, 0, 1, $m, $noir);
    imagestring($image, $font, 2, 1, $m, $noir);
    
    imagestring($image, $font, 1, 0, $m, $blanc);

    for ($i=0;$i<80;$i++){
        imagesetpixel ($image, rand()%(strlen($m)*imagefontwidth($font)), rand()%imagefontheight($font), $gris);
    }
    
    header("Content-type: image/jpeg"); 
    imagejpeg($image);
    imagedestroy($image);
}

$mail = $_GET['mail'];
$size = strlen($mail);
for ($i=0;$i<$size;$i++){
	$l1 .= substr($mail,2*$i+1,1);
}
$mail= $l1;
$mail = preg_replace("/\-D-/",".",$mail);
$mail = preg_replace("/\-A-/","@",$mail);
im_mail($mail);
?>

A voir également

Ajouter un commentaire

Commentaires

cs_Anthomicro
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8 -
LOL
mathieumg
Messages postés
558
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
18 février 2006
-
Lol :p

Mathieu M-G
mathieumg@qc-net.com
malik7934
Messages postés
1162
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
2 -
T'as raison... j'étais en pleine parano quand j'ai fait ce code ;o)
mathieumg
Messages postés
558
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
18 février 2006
-
Pourquoi cryptit("odette","hotmail","com"); au lieu de cryptit("odette@hotmail.com"); ? Le client ne peut pas voir la source alors c'est pas comme si c'était en Javascript...


Mathieu M-Gosselin
mathieumg@qc-net.com
cs_windu
Messages postés
282
Date d'inscription
vendredi 16 mai 2003
Statut
Membre
Dernière intervention
19 juillet 2006
-
Salut tout le monde...
L'erreur que vous citez, Grenard et malik7934, est une erreur retournée par le navigateur (me semble-t-il) qui indique que l'image incriminée est illisible (image corrompue en général...)
Donc le code PHP ne doit pas la générer comme il faut!
Si dans ton code, tu désactive le header("Content-type: image/jpeg"); et que tu cherches a faire afficher directement l'image dasn la page (sans enregistrer dasn un fichier auparavant), tu auras l'erreru PHP qui te sera retournée: manipulation utile lorsque tu crées des images dynamiquement et que ton code foire mais que tu sais pas trop pourquoi (là, c'est le connaisseur qui parle ;-))

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.