Nouveau sujet Répondre Imprimer Syndication RSS 2.0

[résolu] Soucit anti bot

Volcan
Avatar de Styx
  • Age : 21 ans
  • Messages : 1133
  • Inscrit : 28 Février 2005
Message édité 4 fois, dernière édition par Styx, 24 Octobre 2007, 14:06     Lien vers ce message 24 Octobre 2007, 13:47
Hello,
me revoici avec mes problème à la con qui me soule lol.
Alors....J'ai coddé mon système anti-bot en m'inspirant un peu de ce que j'ai pu trouver sur le sdz.
Bref quand je l'es coddé sa fonctionné, mais je l'es implanté dans mon système et bang ! Sa marche pu (nan srx ? )...

Voici ce qu'il me fait à l'écran (qui a chaque foi sa change c'est aléatoire mais c'est toujours ce charabia qui s'affiche.) :

ÿØÿà�JFIF������ÿþ�;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 30 ÿÛ�C� (B+(%%(Q:=0B`Ued_U][jx™jqs[]…µ†ž£«­«g€¼Éº¦Ç™¨«¤ÿÛ�C(#(N++N¤n]n¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ÿÀ���<"�ÿÄ����������� ÿÄ�µ���}�!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ�������� ÿÄ�µ��w�!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ���?�æh¢­ÛÛÇ4 ]„'ÌǘÝ |£Ü~_7$q •al/\em'a’2#'‘ÁíS˜âEÝö2ZYÞ1fÝpᑀ ôT—?ñ÷¬À¿ôrÐk+#u*ÊpA ԐÛOq»È‚IvõØ…±ùSÄ!ìâhд¦fFÛ’z.я›¸>•gS!ˆÅÂ%Üê£Ð ”EZÕ?ä)wÿ�]Ÿÿ�B5V€ ]ÌT!c´@Ï�ž¿È~T”P«s:ù›gy¿ë0ççúúõ4Ã$„¹.ÄÉ÷É?{œóëÏ4Ú({YÒ å–F,»p²lw ’dP··K,’¥Äˆò¶ç(ÅwÃëPQ@Q@ÿÙ


Au lieu de m'afficher correctement mon image anti-bot.

Pour afficher j'ai crée un block tpl et j'ai mit la variable qui est égale à l'anti-bot.
Voici le code :

//formulaire d'ajoute
$tpl->assign_block_vars('form', array(
	'URL'		=> '',
	'ID'		=> $id,
	'ANTI_BOT'	=> $this->anti_bot(),
));


Ma fonction anti_bot() :

/*
Anti_Bot()
	Image d\'anti bot pour la sécurité :)
*/
public function anti_bot()
{
	//liste des caractère
	$liste = 'abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"';
	$code = '';
	
	//on crée le code & on le met en session
	while(strlen($code) != 5) 
	{
		$code .= $liste[rand(0, 63)];
	}
	$_SESSION['code'] = $code;
	
	//on crée la base, le fond on defini le texte
	$base = imageCreate(60, 25);
	$noir = imageColorAllocate($base,0,0,0);
	$blanc = imageColorAllocate($base,255,255,255);
	$police = 4;
	 
	//on crée l'image et on la detruit ;)
	imageString($base, $police, 10, 4, $code, $blanc);
	imagejpeg($base, '', 30);
	imageDestroy($base);
}


J'ai également essayé de parametré les header comme ceci :

header('Content-type: image/jpeg'); // On définit le type de fichier
header('Cache-Control: no-store, no-cache, must-revalidate');


Mais avant le charabia sa me marqué :

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\ASWeb\includes\fcts\class_tpl.php:479) in C:\wamp\www\ASWeb\includes\fcts\class_article.php on line 157

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\ASWeb\includes\fcts\class_tpl.php:479) in C:\wamp\www\ASWeb\includes\fcts\class_article.php on line 158


Je ne voit pas comment je peut faire là par ce que j'ai tout recontrolé et sa merde tjr.
Merci ;)


Un jour je reviendrais !
 
Chef du projet FSB
Avatar de Genova
  • Age : 26 ans
  • Messages : 14944
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 24 Octobre 2007, 13:56
Le code anti_bot() créé une image, et doit donc se trouver dans une page anti_bot.php que tu affiches dans ton formulaire avec une balise <img>


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Volcan
Avatar de Styx
  • Age : 21 ans
  • Messages : 1133
  • Inscrit : 28 Février 2005
Message édité 1 fois, dernière édition par Styx, 24 Octobre 2007, 14:06     Lien vers ce message 24 Octobre 2007, 14:03
Ah zut je doit donc obligatoirement le mettre dans un fichier à part et ensuite l'afficher...
Je vais essayer ça :)

Merci Géno ;)

EDIT: Exacte sa fonctionne. Merci beaucoup ;)


Un jour je reviendrais !
 
Répondre


.