På min hjemmeside har jeg en captcha i tilbakemeldingsskjemaet. Det
virker under PHP 5.2.14 men ikke under PHP 5.3.3.
Her er captcha.php
------------------
<?php
//Start the session so we can store what the code actually is.
session_start();
//Now lets use md5 to generate a totally random string
$md5 = md5(microtime() * mktime());
/*
We dont need a 32 character long string so we trim it down to 7
*/
$string = substr($md5,0,7);
/*
Now for the GD stuff, for ease of use lets create
the image from a background image.
*/
$captcha = imagecreatefrompng("./captcha.png");
/*
Lets set the colours, the colour $line is used to generate lines.
Using a blue misty colours. The colour codes are in RGB
*/
$black = imagecolorallocate($captcha, 0, 0, 0);
$line = imagecolorallocate($captcha,233,239,239);
/*
Now to make it a little bit harder for any bots to break,
assuming they can break it so far. Lets add some lines
in (static lines) to attempt to make the bots life a little harder
*/
imageline($captcha,0,0,39,29,$line);
imageline($captcha,40,0,64,29,$line);
/*
Now for the all important writing of the randomly generated string to
the image.
*/
imagestring($captcha, 5, 20, 10, $string, $black);
/*
Encrypt and store the key inside of a session
*/
$_SESSION['key'] = md5($string);
/*
Output the image
*/
header("Content-type: image/png");
imagepng($captcha);
?>
Det hentes inn i fila function.emtpy_form.php slik:
----------------------------------------------------
$html .= "<p><img src=\"captcha.php\" alt=\"Security Image\"
width=\"100\" height=\"40\" />\n";
return $html;
Hvofor virker ikke dette i versjon 5.3.3?
Hva må jeg gjøre annerledes for at captcha skal virke?
Takk for all hjelp!
Vennlig hilsen
Karl-Arne
--
My home pages:
http://www.karl-arne.name/