Autor Zpráva
chff
Profil *
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
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 *
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0