【问题标题】:Javscript / Ajax Account created by bots由机器人创建的 Javascript / Ajax 帐户
【发布时间】:2020-02-08 12:30:01
【问题描述】:

我做了一个简单的 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"

如何在不添加验证码的情况下阻止这些机器人。我可以看到我的Matomo 访问者日志中没有引用这些机器人 IPS。所以可能有一种 PHP 或 Javascript 的方式来阻止它们。

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

【问题讨论】:

  • 我知道使用可见的recaptcha 对某些用户来说可能很烦人,但是Google 的不可见recaptcha 呢?

标签: javascript php bots account matomo


【解决方案1】:

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

还可以查看https://elasticemail.com/blog/marketing_tips/how-to-prevent-bots-from-spamming-your-sign-up-forms,它是我的来源,并且还有其他一些选项。它谈到了博客注册表格,但它仍然具有相关性。

“确认您的电子邮件”电子邮件

许多网站不仅使用它来验证链接到您帐户的电子邮件是您的,而且还用于确认用户不是机器人。

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

当然,您不希望将帐户记录列在您的数据库中或永久存储它们的任何位置,因此只需在创建帐户时添加帐户创建时间的记录。然后创建一个每天运行一次的 cron 作业,并扫描已存在 x 天且尚未验证其电子邮件的帐户。届时,您将删除该帐户,并可选择创建一条与该帐户电子邮件或 IP 地址相关联的记录,他们之前未能验证其电子邮件地址,并且可能是机器人。

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

  • 您必须运行一个 cron 作业
  • 机器人仍然可以注册(但他们无法访问您的网站)
  • 根据您让用户等待验证其电子邮件的时间,机器人帐户可以处于活动状态的时间越长。

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

【讨论】:

    猜你喜欢
    • 2021-06-12
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    • 2020-11-29
    • 1970-01-01
    • 2017-03-18
    • 2023-03-23
    • 2023-02-15
    相关资源
    最近更新 更多