[ define @ 23.09.2005. 23:58 ] @
Kako da napravim scriptu koja ce da generise Security code u obliku slike, takav da je potrebna verifikacija istog da bi se komentar mogao upisati.
Ovo radim sa ciljem da sprecim botove da unose komentare.
[ sale83 @ 24.09.2005. 01:11 ] @
Evo je :

Code:

<?

$font = "C:\WINDOWS\Fonts\Century.ttf";


//Select random background image
$bgurl = rand(1, 3);
$im = ImageCreateFromPNG("images/bg".$bgurl.".png");

//Generate the random string
$chars = array("a","A","b","B","c","C","d","D","e","E","f","F","g","G","h","H","i","I","j","J","k",
"K","l","L","m","M","n","N","o","O","p","P","q","Q","r","R","s","S","t","T","u","U","v",
"V","w","W","x","X","y","Y","z","Z","1","2","3","4","5","6","7","8","9");
$length = 8;
$textstr = "";
for ($i=0; $i<$length; $i++) {
   $textstr .= $chars[rand(0, count($chars)-1)];
}

//Create random size, angle, and dark color
$size = rand(12, 16);
$angle = rand(-5, 5);
$color = ImageColorAllocate($im, rand(0, 100), rand(0, 100), rand(0, 100));

//Determine text size, and use dimensions to generate x & y coordinates
$textsize = imagettfbbox($size, $angle, $font, $textstr);
$twidth = abs($textsize[2]-$textsize[0]);
$theight = abs($textsize[5]-$textsize[3]);
$x = (imagesx($im)/2)-($twidth/2)+(rand(-20, 20));
$y = (imagesy($im))-($theight/2);

//Add text to image
ImageTTFText($im, $size, $angle, $x, $y, $color, $font, $textstr);

//Output PNG Image
header("Content-Type: image/png");
ImagePNG($im);

//Destroy the image to free memory
imagedestroy($im);
?>
[ sojic @ 05.07.2006. 03:01 ] @
Iskoristio sam ovu skriptu na http://www.free-forex-signals.com/images/confirmation.php (samo sam skratio da prikazuje samo brojke) ali desava se da tekst izadje iz slike t.e. skrati se za jedan-dva karaktera.

Sta da smenim?

(probaj na link nekoliko refresha)
[ sojic @ 05.07.2006. 16:01 ] @
Uz put da pitam i kako da prosledim generisani tekst za provere? Pretpostavljam uz pomoc sesije, pokusao sam nesto, ali nisam raio sesije do sada.

Ako moze kratko uputstvo.
[ glavince @ 05.07.2006. 18:14 ] @
Citat:
sojic: Iskoristio sam ovu skriptu na http://www.free-forex-signals.com/images/confirmation.php (samo sam skratio da prikazuje samo brojke) ali desava se da tekst izadje iz slike t.e. skrati se za jedan-dva karaktera.

Sta da smenim?

(probaj na link nekoliko refresha)

Ili povecaj $bgurl za koji pixel ili smanji
$x = (imagesx($im)/2)-($twidth/2)+(rand(-20, 20)); na recimo
$x = (imagesx($im)/2)-($twidth/2)+(rand(-5, 5));
Citat:
sojic: Uz put da pitam i kako da prosledim generisani tekst za provere? Pretpostavljam uz pomoc sesije, pokusao sam nesto, ali nisam raio sesije do sada.

Ako moze kratko uputstvo.

Na sam pocetak koda postavi:
session_start();
$_SESSION['text'] = $textstr;
u neki drugi fajl za verifikaciju postavi
session_start();
echo $_SESSION['text'];
Generirani kod na slici treba da bude isti na fajl za verifikaciju
[ sojic @ 05.07.2006. 19:13 ] @
Danke bitte. Radi.