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

Bu sayfada, uygulamanızın reCAPTCHA arka ucundaki yanıtının nasıl doğrulanacağı açıklanmaktadır.

Web kullanıcıları için, kullanıcının yanıt jetonunu üç yöntemden birini kullanarak edinebilirsiniz:

  • Kullanıcı formu forma gönderdiğinde g-recaptcha-response POST parametresi
  • Kullanıcı reCAPTCHA testini tamamladıktan grecaptcha.getResponse(opt_widget_id) sonra
  • grecaptcha.render işlevinde veya g-recaptcha geri çağırma parametresinde data-callback belirtilmişse callback işleviniz için dize bağımsız değişkeni olarak

Android kitaplığı kullanıcıları, durum başarılı olursa yanıt jetonu almak için SafetyNetApi.RecaptchaTokenResult.getTokenResult() yöntemini çağırabilirsiniz.

Jeton Kısıtlamaları

Her reCAPTCHA kullanıcı yanıtı jetonu iki dakika süreyle geçerlidir ve tekrarlama saldırılarını önlemek için yalnızca bir kez doğrulanabilir. Yeni bir jetona ihtiyacınız varsa reCAPTCHA doğrulamasını yeniden çalıştırabilirsiniz.

Yanıt jetonunu aldıktan sonra, jetonun geçerli olduğundan emin olmak için aşağıdaki API'yi kullanarak reCAPTCHA'yı iki dakika içinde doğrulamanız gerekir.

API İsteği

URL: https://www.google.com/recaptcha/api/siteverify YÖNTEM: POST

POST Parametresi Açıklama
gizli anahtar Zorunlu. Siteniz ve reCAPTCHA arasında paylaşılan anahtar.
yanıt 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 nesnesidir:

{
  "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
eksik-giriş-gizli Gizli parametre eksik.
geçersiz-giriş-gizliliği Gizli anahtar parametresi geçersiz veya hatalı biçimlendirilmiş.
eksik-yanıt-yanıt Yanıt parametresi eksik.
geçersiz-giriş-yanıt Yanıt parametresi geçersiz veya bozuk.
hatalı istek İstek geçersiz veya hatalı biçimlendirilmiş.
zaman aşımı veya kopya Yanıt artık geçerli değil: Çok eski veya daha önce kullanılmış.