Hirdetés
Új hozzászólás Aktív témák
-
kadam4
tag
válasz
Forza_JUVE
#6889
üzenetére
Nem tudom miért nem jelenik meg a kép, de leírom, hogy én hogyan csináltam Captcha kódot.
Kiír egy 6 karakterből álló random kódot, a kódot az inputoknál a code_check-be írja be, a captcha_code-ba pedig te írod majd be.
Küldés után pedig, ezt a kettőt kell összehasonlítani, hogy megegyeznek e, ha igen, akkor beíródik a szöveg, ha meg nem, akkor dobjon egy hibaüzenetet.
Ehhez be kell kapcsolni a php_gd2-t, hogy megjelenjen majd a kép(lehet a tiédnél is be kell).Kód:
<?php
$capt="";
$text=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
// Karakterek generálása
$texta=$text[rand('0','25')];
$textb=$text[rand('0','25')];
$textc=$text[rand('0','25')];
$textd=$text[rand('0','25')];
$texte=$text[rand('0','25')];
$textf=$text[rand('0','25')];
//Egybe a 6 karakter
$capt=$texta.$textb.$textc.$textd.$texte.$textf;$im = @ imagecreate ( 90 , 30 );// 90*30-as kép generálása
$background_color = imagecolorallocate ( $im , 255, 255, 0 );//háttérszín
$text_color = imagecolorallocate ( $im , rand('0','255') , rand('0','255') , rand('0','255') );//szöveg színe (random)
$border = imagecolorallocate( $im, 255, 0, 0 );imagettftext ( $im , 15 , 2 , 10 , 20 , $text_color , "ttf.ttf" , $texta ); //méret szög xstart ystart szin ttf text
imagettftext ( $im , 15 , 0 , 22 , 20 , $text_color , "ttf.ttf" , $textb );
imagettftext ( $im , 15 , 20 , 37 , 20 , $text_color , "ttf.ttf" , $textc);
imagettftext ( $im , 15 , 0 , 49 , 20 , $text_color , "ttf.ttf" , $textd );
imagettftext ( $im , 15 , 0 , 61 , 20 , $text_color , "ttf.ttf" , $texte );
imagettftext ( $im , 15 , 0 , 70 , 20 , $text_color , "ttf.ttf" , $textf );
imagepng ( $im, 'captcha.png' );
imagedestroy ( $im );// képet ne cashelje a browser
$cachekiller = time();// kiíratás
echo "
<form method='post' action='sajat link'>
<b>Kód:</b><br><img src='captcha.png?{$cachekiller}' alt='' align='absmiddle'>
<input type='hidden' name='code_check' value='$capt' />
<input type='text' name='captcha_code' value='' size='10' maxlength='6'><br>
<input type='submit' value='Küld'></form>";
?> -
Sk8erPeter
nagyúr
válasz
Forza_JUVE
#6889
üzenetére
Hali!
Szerintem továbbra is maradj a reCAPTCHA-nál.
A korábbi kérdésedre azért nem kaptál itt választ, mert egyben bepakoltál egy tökéletesen formázatlan kódot, így ember legyen a talpán, akinek van kedve ezt végigböngészni (vagy türelme kimásolni, majd berakni NetBeans-projektbe, és ott rámenni az autoformázásra, majd elkezdeni a kutakodást).
Eleve nem is a tutorial szerint használtad a PHP-kódot: [Using reCAPTCHA with PHP].
Itt írja az igen egyszerű példakódot, csupán ezt kell bemásolnod arra az oldalra, ahol a captchát kiíratod, példa:
<html>
<head><title>reCAPTCHA</title></head>
<body> <!-- the body tag is required or the CAPTCHA may not show on some browsers -->
<!-- your HTML content --><form method="post" action="verify.php">
<?php
require_once('recaptchalib.php');
$publickey = "your_public_key"; // you got this from the signup page
echo recaptcha_get_html($publickey);
?>
<input type="submit" />
</form><!-- more of your HTML content -->
</body>
</html>A kiemelt rész a lényeg.
Validáláskor pedig ezt csinálod:
<?php
require_once('recaptchalib.php');
$privatekey = "your_private_key";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
// What happens when the CAPTCHA was entered incorrectly
die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
"(reCAPTCHA said: " . $resp->error . ")");
} else {
// Your code here to handle a successful verification
}
?>Halál egyszerű.
Én ezt javaslom captchák közül.=======
(#6893) LW:
ha már pastebin-re másolod a kódokat, akkor válaszd is ki a PHP-szintaktikát, hogy megfelelően kiemelje, épp az a lényeg, hogy úgy lesz gyorsan átlátható!
Új hozzászólás Aktív témák
- Asztalos klub
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- YouTube
- Milyen egeret válasszak?
- Luck Dragon: Asszociációs játék. :)
- Vivo X300 - kicsiben jobban megéri
- Okosóra és okoskiegészítő topik
- EA Sports WRC '23
- Kuponkunyeráló
- AMD Navi Radeon™ RX 9xxx sorozat
- További aktív témák...
- iPhone 13 Pro Max 256GB Graphite megkímélt állapotban eladó!
- AMD Radeon RX 7900XTX Vapor-X 24GB GDDR6 Nitro+( Gari 2028-ig)
- WACOM INTUOS Pen & Touch S - Digitalizáló rajztábla
- Új Gamer PC - Ryzen 7 5700 / RTX 5060 / A520M / 16GB RAM / 1TB SSD / 650W
- Új Philips Saeco GranAroma SM6580/00 2 év garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Xiaomi Redmi 15 128GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 13 Pro Max 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3521
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- iPhone 14 Pro Max 256GB Space Black -1 ÉV GARANCIA -Kártyafüggetlen
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


