Autor | Zpráva | ||
---|---|---|---|
chff Profil * |
#1 · Zasláno: 7. 2. 2012, 10:51:52
Chtěl bych se s někým poradit o takovém zajímavém chování Firefoxu.
Dělal jsem si formulář, který jsem chtěl zabezpečit proti spamu klasicky, generováním náhodného obrázku. Postup následující: Generuju náhodné číslo funkcí rand, to pak uložím do session, skript, si přečte session a nakreslí to číslo do obrázku. Pokud jsem to testoval na FF tak po několikátém obnovení stránky bylo v session jiné číslo, než v obrázku. Zajímavé je, že na ostatních prohlížečích jako IE, Chrome bylo vždy vše OK. . Myslel jsem, že se vše odehrává na serveru i generování obrázku a pak se to jen pošle do prohlížeče. Proto mě udivuje to rozdílné chování FF. Ten skript běží na adrese http://xnax.6f.sk/xnax_1/pro_ohlasy/vlozit_zaznam.php?zobr=-1 Pokud tam budete obnovovat stránku FF, po čase nastane chyba, v jiných prohlížečích chyba nenastane. |
||
Keeehi Profil |
#2 · Zasláno: 7. 2. 2012, 11:29:48
chff:
Mně se ve FF nepodařilo mít ani jednou stejné číslo v obrázku a v textu. Ta 2 čísla vypisovaná nahoře se spolu shodují, ale s obrázkem dole nikdy. Jak vypadají kódy? |
||
chff Profil * |
#3 · Zasláno: 7. 2. 2012, 12:03:57
Keeehi:
Nám k dispozici třídu v ní mám metody: function NahodnyVyraz() { $string=strval(rand(1111, 9999)) ; echo"náhodný výraz je :$string"; return $string; } function GenerujObrazek($fretezec) { $text = $fretezec; $im =imagecreatefrompng("captch_pozadi.png"); for ($i=0;$i<strlen($text) ;$i++ ) { $text_color = imagecolorallocate($im, rand(0,200), rand(0,200), rand(0,255)); imagestring ($im, 5,20*($i), 3, $text[$i], $text_color); } imagepng ($im); imagedestroy ($im); } pak volám: $_SESSION["captcha"] = $pro_formular-> NahodnyVyraz(); a nakonec volám metodu pro generování obr: ta je umístěna v souboru captch.php a jevo obsah je: <?php session_start(); header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header ("Cache-Control: no-cache, must-revalidate"); header ("Pragma: no-cache"); header("Content-Type: image/png"); require("crubrika_bez_foto.php"); $pro_captch=new CRubrika_Bez_Foto('pro_ohlasy'); $pro_captch->GenerujObrazek($_SESSION["captcha"]); ?> a ve formuláři odkazuju : echo"Opište čísla<img src=\"captch.php\" alt=\"obr, 0 kB\" title=\"sfunkci\" />"; Pokud je tam chyba v kodu, tak by to mělo být špatně i na jiných prohlížečích a ne jenom v FF. Mě zaráží hlavně to odlišné chování FF . Děkuji |
||
Časová prodleva: 12 let
|
0