Mail dans image

1/5 (11 avis)

Snippet vu 6 673 fois - Téléchargée 35 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 9
15 janv. 2005 à 13:33
LOL
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
15 janv. 2005 à 07:40
Lol :p

Mathieu M-G
mathieumg@qc-net.com
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
15 janv. 2005 à 07:37
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
15 janv. 2005 à 01:04
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
13 janv. 2005 à 18:22
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 ;-))
Afficher les 11 commentaires

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.