Javascript 由机器人程序创建的Javscript/Ajax帐户

Javascript 由机器人程序创建的Javscript/Ajax帐户,javascript,php,bots,account,matomo,Javascript,Php,Bots,Account,Matomo,我做了一个简单的Javascript更改ID,以避免由机器人创建帐户: setTimeout(function() { $("#FormAccountCreateTmp").attr("id", "FormAccountCreate"); }, 5400); 因此,5.4秒后,Id为FormAccountCreateTmp的表单具有IdFormAccountCreate,然后可以执行jQuery/Javascript: $("body").validator().on("submit",

我做了一个简单的Javascript更改ID,以避免由机器人创建帐户:

setTimeout(function() {
  $("#FormAccountCreateTmp").attr("id", "FormAccountCreate");
}, 5400);
因此,5.4秒后,Id为
FormAccountCreateTmp
的表单具有Id
FormAccountCreate
,然后可以执行jQuery/Javascript:

$("body").validator().on("submit", "#FormAccountCreate", function(e) {
    if(!e.isDefaultPrevented()) {
        buttonLoading($("#BtAccountCreate"));
        var values = $("form#FormAccountCreate").serialize();
        $.ajax({
            url: "https://mywebsite.com/sig" + "nup/aja" + "x/ajax" + "_account" + "_create.php",
            type: "POST",
            data: values,
            success: function(data) {
                $("#AjaxSignup").empty().html(data);
            },
            error: function(exception) { console.log(exception); }
        });
    }
    e.preventDefault();
});
但从几天以来,我就有机器人进入页面注册(网站访问的第一页)并在23秒后验证表单

185.72.244.24 - - [08/Feb/2020:02:31:25 +0000] "GET /en/signup/ HTTP/2.0" 200 21891 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"
...
185.72.244.24 - - [08/Feb/2020:02:31:48 +0000] "POST /signup/ajax/ajax_account_create.php HTTP/2.0" 200 584 "https://mywebsite.com/en/signup/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"
我能做些什么来阻止这些机器人而不添加验证码。我可以看到我的访客日志中没有引用这些机器人IP。因此,可能有一种PHP或Javascript方法来阻止它们


为什么有些人创建这些机器人来创建随机帐户?创建这些帐户没有任何收益,我不了解他们的目标。

对不起,我还不能发表评论,所以我将在这里发布更详细的回复

还请检查,这是我的来源,并有一些其他的选择。它谈到了博客注册表单,但仍然是相关的

“确认您的电子邮件”电子邮件 许多网站使用此功能不仅可以验证链接到您帐户的电子邮件是您的,还可以确认用户不是机器人

这将迫使控制机器人的人手动验证每个帐户

当然,您不希望帐户记录永远列在数据库中或存储它们的任何位置,因此只需在创建帐户时添加帐户创建时间的记录即可。然后创建一个每天运行一次的cron作业,并扫描有x天历史且尚未验证其电子邮件的帐户。此时,您将删除该帐户,并可以选择创建一个链接到帐户电子邮件或IP地址的记录,这些帐户以前无法验证其电子邮件地址,可能是一个机器人

虽然这个选项会处理机器人,但你也必须考虑其缺点

  • 您必须运行cron作业
  • 机器人仍然可以注册(但他们无法访问您的网站)
  • 根据您允许用户等待验证其电子邮件的时间,bot帐户的活动时间可能会更长

选择权在你。很抱歉,我无法在实际注册过程中为您提供一个即时解决方案来防止机器人,但机器人正在不断改进,迟早机器人可能会找到绕过验证码的方法。

抱歉,我还不能发表评论,所以我将在这里发布更详细的回复

还请检查,这是我的来源,并有一些其他的选择。它谈到了博客注册表单,但仍然是相关的

“确认您的电子邮件”电子邮件 许多网站使用此功能不仅可以验证链接到您帐户的电子邮件是您的,还可以确认用户不是机器人

这将迫使控制机器人的人手动验证每个帐户

当然,您不希望帐户记录永远列在数据库中或存储它们的任何位置,因此只需在创建帐户时添加帐户创建时间的记录即可。然后创建一个每天运行一次的cron作业,并扫描有x天历史且尚未验证其电子邮件的帐户。此时,您将删除该帐户,并可以选择创建一个链接到帐户电子邮件或IP地址的记录,这些帐户以前无法验证其电子邮件地址,可能是一个机器人

虽然这个选项会处理机器人,但你也必须考虑其缺点

  • 您必须运行cron作业
  • 机器人仍然可以注册(但他们无法访问您的网站)
  • 根据您允许用户等待验证其电子邮件的时间,bot帐户的活动时间可能会更长

选择权在你。很抱歉,我无法立即为您提供在实际注册过程中阻止机器人的解决方案,但机器人正在不断改进,迟早机器人可能会找到绕过验证码的方法。

我知道使用可见的recaptcha可能会让一些用户感到恼火,但是谷歌不可见的recaptcha呢?我知道对一些用户来说使用可见的recaptcha会很烦人,但是谷歌不可见的recaptcha呢?