0
我正試圖在我的java Play 2.4 web應用上實現reCaptcha。在Play 2.x Java上集成reCaptcha
我真的不知道如何在驗證碼發送後閱讀「g-recaptcha-response」。
不幸的是,我可以找到所有的教程來玩2.x只有斯卡拉。
有人可以幫我嗎?
我正試圖在我的java Play 2.4 web應用上實現reCaptcha。在Play 2.x Java上集成reCaptcha
我真的不知道如何在驗證碼發送後閱讀「g-recaptcha-response」。
不幸的是,我可以找到所有的教程來玩2.x只有斯卡拉。
有人可以幫我嗎?
在你的模板,你可以在一個隱藏的表單字段設置g-recaptcha-response
:
<div class="g-recaptcha" data-sitekey="your_site_key" data-callback="captchaCallback"></div>
<input type="hidden" name="recaptcha" id="recaptcha" />
<script>
function captchaCallback() {
document.getElementById("recaptcha").value = document.getElementById("g-recaptcha-response").value;
}
</script>
在您的表單驗證,你需要通過valdiate要求的reCAPTCHA API recaptcha/g-recaptcha-response
值。
@Constraints.Required()
private String recapatcha;
private List<ValidationError> validate() {
...
final JsonNode response = WS.url("recaptcha-verify-endpoint").setQueryParameter("secret", "your secret").setQueryParameter("response", this.recaptcha).post("").get(5000L).asJson();
if(!response.get("success").booleanValue() && response.has("error-codes"){
//TODO: Add error according to recaptcha error code
}
...
}
謝謝!我不知道數據回調 –
您可以展示一下您到目前爲止嘗試過的代碼示例嗎? –