我已经在 ASP.NET MVC 项目上设置了 reCAPTCHA v3。一切工作正常并且正在正确传回数据。
因此,下面的代码取决于我拥有的另一个 dll,但基本上,响应以对象的形式返回,该对象显示 JSON 请求传回的所有内容,如https://developers.google.com/recaptcha/docs中所述/v3
这一切都有效。
但现在我知道响应成功了,并且我有了分数,我该怎么办?如果分数为 0.3 或以下会怎样?有些人建议还设置 v2 进行二次验证(即“选择这张图片中的所有停止标志”或“键入您看到的单词”)。这真的是唯一的“好”选择吗?
显然代码还不完美。我可能会在 AJAX 调用而不是控制器中处理解决方案,但仍然如此。如果分数低怎么办?
我读了这篇文章 reCaptcha v3 处理分数回调 ,它有一点帮助,但我仍然很难理解。我不一定需要代码(尽管它永远不会造成伤害),而只是需要做什么的建议。
看法:
<script src="https://www.google.com/recaptcha/api.js?render=@Session["reCAPTCHA"]"></script>
grecaptcha.ready(function () {
grecaptcha.execute('@Session["reCAPTCHA"]', { action: 'homepage' }).then(function (token) {
$.ajax({
type: "POST",
url: "Home/Method",
data: JSON.stringify({token: token }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
console.log('Passed the token successfully');
},
failure: function (response) {
alert(response.d);
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
控制器:
[HttpPost]
public void ReCaptchaValidator(string token)
{
ReCaptcha reCaptcha = …Run Code Online (Sandbox Code Playgroud)