Bu sayfada, bir kullanıcının reCAPTCHA testine verdiği yanıtı uygulamanızın arka uçta olması gerekir.
Web kullanıcıları, kullanıcının yanıt jetonunu şu üç yöntemden biriyle alabilirsiniz:
g-recaptcha-response
: Kullanıcı, sitenizdeki formu gönderdiğinde POST parametresi- Kullanıcı tamamladıktan sonra
grecaptcha.getResponse(opt_widget_id)
reCAPTCHA testi - Geri çağırma işlevinizin dize bağımsız değişkeni olarak
g-recaptcha
etiketi özelliğindedata-callback
belirtilmişsegrecaptcha.render
yöntemindeki geri çağırma parametresi
Android kitaplık kullanıcıları, SafetyNetApi.RecaptchaTokenResult.getTokenResult() yöntemini kullanın.
Jeton Kısıtlamaları
Her reCAPTCHA kullanıcı yanıt jetonu iki dakika boyunca geçerlidir ve aşağıdaki durumlarda yalnızca bir kez doğrulanabilir: tekrarlayan saldırıları önler. Yeni bir jetona ihtiyacınız varsa reCAPTCHA doğrulamasını yeniden çalıştırabilirsiniz.
Yanıt jetonunu aldıktan sonra, iki dakika içinde bunu reCAPTCHA ile doğrulamanız gerekir: aşağıdaki API'yi kullanarak jetonun geçerli olduğundan emin olun.
API İsteği
URL: https://www.google.com/recaptcha/api/siteverify YÖNTEM: YAYINLAMA
POST Parametresi | Açıklama |
---|---|
secret |
Zorunlu. Siteniz ile reCAPTCHA arasında paylaşılan anahtardır. |
response |
Zorunlu. Sitenizdeki reCAPTCHA istemci tarafı entegrasyonu tarafından sağlanan kullanıcı yanıt jetonu. |
remoteip |
İsteğe bağlı. Kullanıcının IP adresi. |
API Yanıtı
Yanıt bir JSON nesnesi olur:
{
"success": true|false,
"challenge_ts": timestamp, // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)
"hostname": string, // the hostname of the site where the reCAPTCHA was solved
"error-codes": [...] // optional
}
reCAPTCHA Android için:
{
"success": true|false,
"challenge_ts": timestamp, // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)
"apk_package_name": string, // the package name of the app where the reCAPTCHA was solved
"error-codes": [...] // optional
}
Hata kodu referansı
Hata kodu | Açıklama |
---|---|
missing-input-secret | Gizli anahtar parametresi eksik. |
invalid-input-secret | Gizli anahtar parametresi geçersiz veya hatalı biçimlendirilmiş. |
missing-input-response | Yanıt parametresi eksik. |
invalid-input-response | Yanıt parametresi geçersiz veya hatalı biçimlendirilmiş. |
hatalı istek | İstek geçersiz veya hatalı biçimlendirilmiş. |
zaman aşımı veya yineleme | Yanıt artık geçerli değil: Çok eski veya daha önce kullanılmış. |