Autor | Zpráva | ||
---|---|---|---|
johnl Profil |
#1 · Zasláno: 7. 1. 2010, 19:26:46 · Upravil/a: johnl
Dobrý den, vytvořil jsem si captchu
1header("Content-type: image/png"); header("Content-type: image/png");
$desecurity = $_GET[code];
$znak = Base64_Decode($desecurity);
$podklad = ImageCreateFromPNG("captcha.png");
$preklad = imagecreatefromPNG("captcha1.png");
$color = ImageColorAllocate($podklad, rand(0,50), rand(20,90), rand(0,255));
$color1 = ImageColorAllocate($podklad, rand(0,90), rand(40,190), rand(0,205));
$color2 = ImageColorAllocate($podklad, rand(0,50), rand(40,110), rand(0,255));
$color3 = ImageColorAllocate($podklad, rand(0,90), rand(90,180), rand(20,255));
$barva = $color;
ImageTTFText($podklad, rand(25,30), rand(-10,40), 15, 40, $barva, "captcha.ttf", $znak[0]);
$barva = $color1;
ImageTTFText($podklad, rand(25,30), rand(-10,40), 45, 40, $barva, "captcha.ttf", $znak[1]);
$barva = $color2;
ImageTTFText($podklad, rand(25,30), rand(-10,40), 80, 40, $barva, "captcha.ttf", $znak[2]);
$barva = $color3;
ImageTTFText($podklad, rand(25,30), rand(-10,40), 115, 40, $barva, "captcha.ttf", $znak[3]);
imagecopy($podklad, $podklad, 0, 0, 0, 0, 0, 0);
ImagePNG($podklad);
ImageDestroy($podklad);
ImageDestroy($preklad);
Do $_GET[code] posílám zaheslovaný text (zaheslovaný pomocí base64) např. MTczNA= Obrázek captchy zavolám pomocí <?php echo "<img src='captcha.php?code=$code' alt='Obrázek'>"; ?> <?php echo "<img src='captcha.php?code=$code' alt='Obrázek'>"; ?> Obrázek pro podklad i přelad i font existuje. Tak nevím kde může být chyba.. Problém je v tom že na žádném hostingu ani placeném ani free mi to nefunguje (zobrazí se mi pouze alt) - funguje mi to jenom na localhostu. Nevíte někdo kde může být chyba? |
||
keeehi Profil |
#2 · Zasláno: 7. 1. 2010, 19:48:55
možná:
- $_GET["code"]; - je povolená GD knihovna? |
||
t4nn3r Profil |
#3 · Zasláno: 8. 1. 2010, 07:10:17 · Upravil/a: t4nn3r
no ja by sem vam doporucil pouzivat reCaptcha. Ta funguje pomoci Iframe a jeji funkcnost je tim zarucena na vsem a jeji pouziti je trivialni. Odkaz.
jinak jak psal [#2] keeehi, code musi byt v '," , navic s temito knihovnami jsou problemy (hlavne na free hostingu, kde se s clovekem nejak moc nebavi...) |
||
Alphard Profil |
#4 · Zasláno: 8. 1. 2010, 22:16:15
johnl:
Pro účely ladění si vypište přímo obrázek a zakomentujte png hlavičku. PHP vám chybu vypíše samo. |
||
ONdra28 Profil |
#5 · Zasláno: 9. 1. 2010, 13:03:26
Tenhle problém sem řešil taky..problém byl v udání cesty fontu..zkus to takhle :
ImageTTFText($podklad, rand(25,30), rand(-10,40), 15, 40, $barva, "./captcha.ttf", $znak[0]); ImageTTFText($podklad, rand(25,30), rand(-10,40), 15, 40, $barva, "./captcha.ttf", $znak[0]);
|
||
Časová prodleva: 15 let
|
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.
Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:
Běda vám, jestli to bude blábol.
0