Mijn Captcha
17 April 2008
Ben me weer eens wat meer in de wereld van PHP aan het verdiepen, en heb een captcha gemaakt. Hij is ook best veilig, want tot nu toe is het een vriend van mij (www.thomsenwebdesign.nl) niet gelukt om het te kraken! Dit script gebruikt de GD library en tekent daarmee een variabele achtergrondkleur met daaroverheen een variabele tekst met variabele tekstkleur, met daar weer variabele lijntjes die variabele kleuren hebben erover! Erg variabel dus.
-
<?php
-
-
/**
-
* JaapzCaptcha
-
* Een simpele captcha gemaakt door:
-
* Jaap Broekhuizen aka Jaapz
-
* Site: www.jaapz.nl
-
* Vrijgegeven onder de GNU GPL2 licentie
-
*/
-
-
//verander hieronder wat je nodig vind
-
$codelengte = 6; //aantal karakters in de code
-
$aantallijntjes = 7; //aantal lijnen in het plaatje
-
$font = "uwfont.ttf"; //font te gebruiken, bijv $font = "uwfont.ttf";
-
-
//sessie starten en meegeven dat het een plaatje is
-
-
//code genereren
-
$tekens = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
-
for ($i=0; $i<=$codelengte; $i++) {
-
}
-
-
//code in een sessie zetten
-
$_SESSION["captchacode"] = $code;
-
-
//plaatje maken
-
$plaatje = imagecreate("100", "50");
-
-
//achtergrondkleur genereren
-
-
$achter = imagecolorallocate($plaatje, $br, $bg, $bb);
-
-
//code erop gooien
-
$kleur = imagecolorallocate($plaatje, $cr, $cg, $cb);
-
-
-
//lijntjes tekenen
-
for ($i2=0; $i2<=$aantallijntjes; $i2++) {
-
$kleur = imagecolorallocate($plaatje, $lr, $lg, $lb);
-
-
imageline($plaatje, $lx1, $ly1, $lx2, $ly2, $kleur);
-
}
-
-
//plaatje teruggeven
-
imagepng($plaatje);
-
imagedestroy($plaatje);
-
-
?>