Ú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
- MSI Thin GF63 15.6" FHD IPS i5-12450H RTX 3050 16GB 512GB NVMe magyar vbill gar
- Honor 400 Pro 5G Lunar Gray Prémium kijelző, AI-fotózás 12/512 GB-2028. 05. 21-ig
- Predator Helios 300 17.3" FHD IPS i7-9750H GTX 1660Ti 16GB 512GB NVMe+1TB HDD magyar vbill gar
- OnePlus 13 Gyors teljesítmény és modern dizájn Midnight Ocean 16/512 GB
- Apple iPhone 17 Pro Deep Blue 120 Hz ProMotion, 8 optikai-minőségű zoom 100% akku ,3 év gari
- SzinteÚJ! HP Elitebook 860 G9 i7-1255U 16GB 1000GB 16" FHD+ Gar.: 1 év
- Magyarország piacvezető szoftver webáruháza
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- Bontatlan Lenovo T14S WUXGA Touch Ryzen5 Pro 7540U 16GB 256GB Radeon 740M Win11 Pro 3év Garancia
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest