Auteur: sacha ((---.cg13.oleane.fr)
Date: 06-02-2005 16:51
[ 675 msg ]
|
Honolulu, juste à 503 il y a un problème. J'ai d'abord exécuté mon script, il y avait un message d'erreur. Je pensais que c'est encore toi qui a changé quelque chose. Mais quand je suis allé sur dernier/index.php, j'ai vu une croix à la place de l'image. Ton cryptage bug défois (c'est déjà la deuxième fois que je le vois).
Comme c'est fini, je donne la totalité de mon script. Je cois que ça doit être interessant (comme à la fin des concours). Et toi, tu pourra m'expliquer comment fonctionne ton cryptage? Merci. 
<? //Affiche le nombre à partir d'une image passée en argument '?url="
// Variables: $chiff; $url; $img; $nb; $i, $x, $txt
function erreur($c,$q,$f,$l)
{
die("<html><head><title>Erreur pour le plaisir</title><script language=\"javascript\">alert('Je suis un pauvre et aveugle script. Mon créateur essaye de me conduire là où je dois aller, je suis guidé par lui. Mais défois il me laisse aller tout seul. Et défois, dans ces cas, je tombe dans un petit trou fait par Thierry... Et je n\'arrive plus à marcher.\\n\\n: (');</script></head><body><b><i><u>Message du créateur:</u></i> Un certain Thierry s'amuse en empêchent ma chère ligne $l de mon aveugle script de s'exécuter.</b></body></html><!--\nFichier: $f\nLigne: $l\nCode: $c\nExplication: $q\n-->");
}
error_reporting(E_ALL);
set_error_handler("erreur");
#.
#Partie1: Recherche la valeur du paramètre "nombre" vers img.php. L'attribue à $nb.
#.
$d="<FONT color=\"#4391cc\"> Forums disponibles</font>";
$f="</td><td><script type=\"text/javascript\"><!--";
//$s="dernier[1].txt";
$s="http://www.creation-du-web.com/dernier/index.php";
function source($url)
{
global $erreur;
$fp=fopen($url,"r"); $texte="";
if($fp)
{
while(!feof($fp))
{
$texte.=fgets($fp,1024);
}
return $texte;
}
else
{
die ("Erreur");
}
}
function coupe($source,$avant,$après)
{
$res=strstr($source,$avant);
$res=substr($res,strlen($avant));
$res=substr($res,0,strpos($res,$après));
return $res;
}
$source=source($s);
$source=coupe($source,$d,$f);
$adrss=array(); $string=""; $i=0;
while ($string!==FALSE)
{
$source=stristr($source,"<img ");
$string=substr($source,0,strpos($source,">")+1);
if (strpos($string,"display:none")===FALSE)
{
$adrss[$i]=$string;
$i++;
}
$source=substr($source,1);
//die ($source);
}
$nb=coupe($adrss[1],"<img src='img.php?","'");
$i=0;
#.
#Partie2: Convertir l'image en chaîne des caratères
#.
function pxl($img,$x,$y) //Renvoie 1 si le pixel à x, y est dessiné et 0 sinon
{
$color=ImageColorAt($img,$x,$y); //Récupère la couleur du pixel
$color=imagecolorsforindex($img, $color); // Convertit en RGB
$color=$color['green']; //Enregistre seulement la quantité du vert
if ($color>0) //Si ce n'est pas noir
{
$res=0;
}
else //Si pixel est noir
{
$res=1;
}
return $res;
}
$chiff=array(); //Conteindra tous les chiffres de l'image.
$txt=""; //Conteindra la même information que l'image, mais en chaîne des caractères.
$url="http://www.creation-du-web.com/dernier/img.php?".$nb; //L'URL de l'image
$img=ImageCreateFromGIF($url); //Ouverture de l'image passée en URL.
$nb=ImageSX($img); //Largeur de l'image.
$nb=$nb/10; //Un chiffre est de 10 pixels de largeur. $nb prend le nombre des chiffres dans l'image
for ($i=0;$i<$nb;$i++) //Création des images pour mettre les chiffres séparement
{
$chiff[$i]=ImageCreate(10,18);
}
for ($i=0;$i<$nb;$i++) //Troncature d'une seule image en images séparées, chiffres
{
$x=$i*10;
ImageCopy($chiff[$i],$img,0,0,$x,0,10,18);
}
for ($i=0;$i<$nb;$i++) //Transformation de l'image en chaîne des caractères, par détection des chiffres.
{
if ((pxl($chiff[$i],4,5)==1) && (pxl($chiff[$i],5,5)==0) && (pxl($chiff[$i],6,5)==1))
{
$txt.="0";
}
elseif ((pxl($chiff[$i],4,10)==0) && (pxl($chiff[$i],5,10)==0) && (pxl($chiff[$i],6,10)==1) && (pxl($chiff[$i],7,10)==1) && (pxl($chiff[$i],8,10)==0))
{
$txt.="1";
}
elseif ((pxl($chiff[$i],2,13)==1))
{
$txt.="2";
}
elseif ((pxl($chiff[$i],3,8)==0) && (pxl($chiff[$i],3,11)==0) && (pxl($chiff[$i],3,13)==0) && (pxl($chiff[$i],4,13)==1))
{
$txt.="3";
}
elseif ((pxl($chiff[$i],5,13)==0) && pxl($chiff[$i],6,13)==1)
{
$txt.="4";
}
elseif ((pxl($chiff[$i],8,4)==1) && (pxl($chiff[$i],8,5)==0))
{
$txt.="5";
}
elseif ((pxl($chiff[$i],5,5)==1))
{
$txt.="6";
}
elseif ((pxl($chiff[$i],2,4)==1))
{
$txt.="7";
}
elseif ((pxl($chiff[$i],5,8)==1))
{
$txt.="8";
}
elseif ((pxl($chiff[$i],4,4)==1))
{
$txt.="9";
}
}
echo $txt; //affichage du résultat
?>
|