Önemli: reCAPTCHA API'nin 1.0 sürümü artık desteklenmiyor. Lütfen sürüm 2.0'a yükseltin. Daha fazla bilgi
reCAPTCHA PHP Kitaplığı, web sitenize CAPTCHA yerleştirmenin basit bir yolunu sunar. ekleyerek botların siteyi kötüye kullanmasını önlemenize yardımcı olur. Kitaplık reCAPTCHA API'si.
reCAPTCHA'yı PHP ile kullanmak için reCAPTCHA PHP'yi indirebilirsiniz kitaplığı'nda bulabilirsiniz. Orada yalnızca bir dosyaya ihtiyacınız olacak (recaptchalib.php). Diğer dosyalar okunmuş olanlar ve yasal öğeler gibi, işlevsellikleri etkilemez.
Hızlı Başlangıç
API anahtarlarınızı kaydettikten sonra sitenize reCAPTCHA'yı yüklemeyle ilgili temel talimatları aşağıda bulabilirsiniz. Tam PHP eklentisine ilişkin başvuru kılavuzunu aşağıda bulabilirsiniz.
İstemci Tarafı (CAPTCHA resmi nasıl gösterilir?)
reCAPTCHA widget'ını görüntülemek için PHP kitaplığını kullanmak istiyorsanız <form> içindeki bu kod snippet'ini reCAPTCHA widget'ının gösterileceği öğe bu yerin tarihi:
require_once('recaptchalib.php'); $publickey = "your_public_key"; // you got this from the signup page echo recaptcha_get_html($publickey);
Bu kodla formunuz aşağıdaki gibi görünebilir:
<html> <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>
your_public_key
öğesini şununla değiştirerek $publickey değerini ayarlamayı unutmayın:
API ortak anahtarınız.
"İşlem" değerinin, özelliğinin değeri "verify.php" şeklindedir. Şimdi, Verify.php hedef dosyasını kullanarak bu formun değerlerinin gönderildiği hedef dosyayı kullanın. Bu yüzden, projenizi Verify.php dosyasında istemci html ile aynı konumda bulunur.
Yukarıdaki örnekte yer alan request_once işlevi, reCAPTCHA'nın aynı olmasını bekler.
dizinini form dosyanız olarak kullanın. Dosya başka bir dizindeyse düzgün bir şekilde bağlamanız gerekir.
Örneğin, recaptchalib.php dosyanız "captcha" adlı dizindeyse aynı
düzeyinde ayarladığınızı varsayalım. Bu durumda işlev aşağıdaki gibi görünür:
require_once('captcha/recaptchalib.php')
Sunucu Tarafı (Kullanıcının doğru yanıtı girip girmediğini test etme)
Aşağıdaki kod, Verify.php dosyasının en üstüne yerleştirilmelidir:
<?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 } ?>
Yukarıdaki kodda:
recaptcha_check_answer
, kullanıcının
Yarışmayı başarıyla tamamladı.$resp->is_valid
true ise, captcha testi doğru şekilde tamamlanmış demektir. Bu durumda, form işlemeye devam etmeniz gerekir.$resp->is_valid
yanlışsa kullanıcı doğru captcha'yı sağlayamamış demektir.
metnine geri dönebilir ve başka bir deneme için formu yeniden görüntülemeniz gerekir. Bu durumda
$resp->error
, recaptcha_get_html
adresine sağlanabilecek bir hata kodu olacaktır.
Hata kodunu iletmek, reCAPTCHA kontrolünde kullanıcının
Metin yanlış girildiğinden tekrar denemelisiniz.Bu kodun, karıştırılmaması gereken özel anahtarı istediğine dikkat edin. kullanın. Bunu ortak anahtarın bulunduğu sayfadan alırsınız.
Ayrıca formunuzun, yerine $_POST kullanarak form değişkenlerini alacak şekilde ayarlandığından emin olun. $_REQUEST ve formun kendisinin POST yöntemini kullandığını belirtmek.
Hepsi bu kadar! reCAPTCHA artık sitenizde çalışıyor olmalıdır.
Diğer Okumalar
PHP Eklenti Başvuru Kılavuzu
Aşağıda, reCAPTCHA PHP Eklentisinin tüm yöntemlerinin kapsamlı bir listesini bulabilirsiniz.
reCAPTCHAa_get_html işlevi
recaptcha_get_html
işlevi, reCAPTCHA'yı kullanıcıya sunan HTML'yi
"the"
belirtir.
recaptcha_get_html | |
Parametre | |
$pubkey -- dize. gereklidir. | API Kayıt Sayfası'ndaki reCAPTCHA ortak anahtarınız |
$error -- dize. isteğe bağlı (varsayılan değer boştur) | Bu dize ayarlanırsa reCAPTCHA alanında hata kodu gösterilir değeri. Bu hata kodu ReCaptchaResponse->$error'dan geliyor |
$use_ssl -- boolean. isteğe bağlı (varsayılan değer: yanlış) | SSL tabanlı API kullanılmalı mı? Bir sayfayı bir hata iletişim kutusu görmemesi için bunu doğru olarak ayarladığınızdan emin olun. kullanıcının tarayıcısında görünür. |
Döndürülen değer | Web sayfasına yerleştirilecek HTML'yi içeren bir dize. |
reCAPTCHAa_check_answer işlevi
Kullanıcı HTML formunu ve CAPTCHA için yanıtını doldurduktan sonra,
yanıtlarını kontrol etmek için
recaptcha_check_answer
işlevi. Kullanıcının yanıtı iki form alanında olur:
recaptcha_challenge_field
ve recaptcha_response_field
. İlgili içeriği oluşturmak için kullanılan
reCAPTCHA kitaplığı, reCAPTCHA sunucusuna bir HTTP isteğinde bulunur ve kullanıcının
ver.
recaptcha_check_answer | |
Parametre | |
$privkey -- dize. gereklidir. | API Kayıt Sayfası'ndaki reCAPTCHA özel anahtarınız. |
$remoteip -- dize. gereklidir. | Kullanıcının IP adresi (192.168.0.1 biçiminde) |
$challenge -- dize. gereklidir. |
recaptcha_challenge_field form alanının değeri |
$response -- dize. zorunlu | recaptcha_response_field form alanının değeri |
Döndürülen değer | ReCaptchaResponse sınıfının bir örneği |
ReCaptchaResponse | |
Alan | |
$is_valid -- boolean | reCAPTCHA, yanıtın geçerli olduğunu düşünüyor muydu? |
$error -- dize | Yanıt geçersizse sorun neydi? Bu hata kodu, reCAPTCHA'da kullanılır |
Döndürülen değer | Hangi işlevi kullandığınıza bağlı olarak, e-posta adresinin kodunu çözmek için HTML veya ham URL çağrıldı. |
Mailhide
reCAPTCHA PHP Kitaplığı, Mailhide API için bağlamalar içerir. Bu Bu API, spam yapanların görmesini önlemek için e-postaları reCAPTCHA içine sarmalamanıza olanak tanır: sınav...@example.com.
PHP Kitaplığı'nın Mailhide bölümü için PHP mcrypt modülü gerekir.
Mailhide API iki işlevden oluşur: recaptcha_mailhide_html
ve
recaptcha_mailhide_url
. Fonksiyonlar aynı parametrelere sahiptir. _html sürümü
HTML değerini döndürür
reklam etiketleri oluşturun. E-postanın iletilen kullanıcı adı bölümü
kısaltılır ve yerine Mailhide'ı çağıran bir bağlantı yerleştirir. _url sürümü size URL'yi verir
kodunu çözer ve e-postayı HTML'ye yerleştirme işini size bırakır.
reCAPTCHAa_mailhide_url / recaptcha_mailhide_html | |
Parametre | |
$pubkey -- dize | Kayıt sayfasındaki Mailhide ortak anahtarı |
$privkey -- dize | Kayıt sayfasındaki Mailhide özel anahtarı |
$email -- dize | Gizlemek istediğiniz e-posta adresi. |
Aşağıdaki örnekte Mailhide'ın nasıl kullanılacağı gösterilmektedir:
<html><body> <? require_once ("recaptchalib.php"); // get a key at http://www.google.com/recaptcha/mailhide/apikey $mailhide_pubkey = ''; $mailhide_privkey = ''; ?> The Mailhide encoding of example@example.com is <? echo recaptcha_mailhide_html ($mailhide_pubkey, $mailhide_privkey, "example@example.com"); ?>. <br> The url for the email is: <? echo recaptcha_mailhide_url ($mailhide_pubkey, $mailhide_privkey, "example@example.com"); ?> <br> </body></html>