Kullanıcının yanıtını doğrulama

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ğinde data-callback belirtilmişse grecaptcha.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ış.