我刚刚在网站上添加了Google Recaptcha V3,但仍有大量垃圾邮件通过。我知道Google需要在网站上建立一些流量,以确定是否有垃圾邮件。那需要多长时间?像X天后仍然发生这种情况一样,是否有问题?什么是X?
这是我实施此操作的方式。在客户端,我得到令牌:
using System;
using System.Collections.Generic;
public class TEST
{
static public void Main(string[] args)
{
var test = new Dictionary<int, string>();
test.Add(1,"One");
Console.WriteLine(test); //outputs test
Console.WriteLine(TEST.TestMethod(test)); //outputs slab
}
static public string TestMethod(dynamic obj)
{
foreach (KeyValuePair<int, string> item in obj)
{
Console.WriteLine("Key: {0}, Value: {1}", item.Key, item.Value);
return item.Value;
}
return "";
}
}
调用服务器端检查以验证:
function validateCaptcha(form, callback) {
$("#captcha-error").addClass('hidden');
$("#captcha-error").hide();
$("#captcha-error").html('');
var formName = $('#formName').val();
if (!formName) formName = 'AmeriGasGenericForm';
var siteKey = $('#siteKey').val();
if (grecaptcha) {
try {
grecaptcha.ready(function() {
grecaptcha.execute(siteKey, { action: formName }).then(function(token) {
$.ajax({
url: "/recaptcha-validate?recaptchaResponse=" + token + "&actionName=" + formName,
async: false,
success: function (response) {
console.log("score:" + response.score);
if (response.Success == false) {
$("#captcha-error").html('Unable to verify reCAPTCHA. Please try again.');
$("#captcha-error").removeClass('hidden');
$("#captcha-error").show();
} else {
callback(form);
}
},
error: function(e) {
console.log(e);
}
});
});
});
} catch (err) {
console.log(err);
}
}
}
我将阈值设置为允许任何高于0.5的值。但是,当我查看Google中的reCaptcha管理控制台时,有99%的请求得分为0.9。因此,我不确定在此如何防止垃圾邮件。 Recaptcha似乎认为所有内容都是人为的,但是当我查看收到的实际提交内容时,它们显然是垃圾邮件。