Captcha

<?php
session_start
();
header("Content-type: image/jpeg");

$znak1 rand(0,9); 
$znak2 rand(0,9);
$znak3 rand(0,9);
$znak4 rand(0,9);
$znak5 rand(0,9);

$_SESSION['captcha']=$znak1.$znak2.$znak3.$znak4.$znak5;

$podklad imagecreatefromjpeg("cesta k podkladovemu obrazku");

$farba_textu imagecolorallocate($podkladmt_rand(0250),mt_rand(0250),mt_rand(0250));

ImageTTFText($podkladmt_rand(25,30), mt_rand(-4040), 1040$farba_textu"cesta k fontu/font.tff"$znak1);

$farba_textu imagecolorallocate($podkladmt_rand(0250),mt_rand(0250),mt_rand(0250));

ImageTTFText($podkladmt_rand(25,30), mt_rand(-4040), 6040$farba_textu"cesta k fontu/font.tff"$znak2);

$farba_textu imagecolorallocate($podkladmt_rand(0250),mt_rand(0250),mt_rand(0250));

ImageTTFText($podkladmt_rand(25,30), mt_rand(-4040), 10040$farba_textu"cesta k fontu/font.tff"$znak3);

$farba_textu imagecolorallocate($podkladmt_rand(0250),mt_rand(0250),mt_rand(0250));

ImageTTFText($podkladmt_rand(25,30), mt_rand(-4040), 15040$farba_textu"cesta k fontu/font.tff"$znak4);

$farba_textu imagecolorallocate($podkladmt_rand(0250),mt_rand(0250),mt_rand(0250));

ImageTTFText($podkladmt_rand(25,30), mt_rand(-4040), 19040$farba_textu"cesta k fontu/font.tff"$znak5);

imagecopy($podklad$podklad000025050);

imagejpeg($podklad);
?>
$znak1 až $znak5 sú definované ako náhodné číslo od 0 po 9. Overovacia funkcia obrázka je definovaná pomocu session $_SESSION['captcha']. Každý znak môže byť vykreslený rozdielnym fontom a môže mať na pevno definovanú farbu, napr:
$farba_textu = imagecolorallocate($podklad, mt_rand(0,
250),mt_rand(0, 250),mt_rand(0, 250));
Náhodnú farbu nahradíme za čiernu:
$farba_textu = imagecolorallocate($podklad, 0,0,0);
Funkcie captchy si môžete pozrieť tu

Pridať komentár k článku