1

我即将实现一个需要某种形式的垃圾邮件预防的网络表单。我想避免涉及用户输入的垃圾邮件预防技术,并且在这种情况下与 Akismet 集成是多余的(如果少量垃圾邮件确实通过也可以)。我也更愿意避免涉及 javascript 的技术——再次强调用户体验是重中之重,我不想在没有 javascript 的设备上打折用户。

一种常见的技术是使用 CSS 隐藏的蜜罐表单字段,因此最终用户不可见,但垃圾邮件机器人可以看到。理想情况下,这应该有一个诱人的名称,如“name”或“email_address”。但是我担心这些可能由浏览器(或其他第 3 方)表单自动完成工具填写,因此将合法提交的内容识别为垃圾邮件。

这让我想到了自动完成工具会忽略的表单元素,但垃圾邮件机器人会尝试使用。复选框输入是首先想到的 - 许多表单都包含一个复选框,类似于“请接受我们的条款和条件”。垃圾邮件程序肯定会尝试将其标记为已检查?所以,也许一个隐藏的复选框是一个可以接受的解决方案:

<div class="hidden">
  <label>
    Are you not a human?
    <input type="checkbox" name="accept_terms" value="1" />
  </label>
</div>

没有 CSS 的用户会看到该字段,这不是很好,但这将是一小部分用户,并且标签应该说明他们不应该勾选该框。

不过,我主要担心的是我不确定大多数垃圾邮件机器人如何与复选框交互。这种技术会奏效吗?

请注意:这并不是要引发对各种垃圾邮件预防技术的讨论——特别是为了获得有关该技术的反馈。

谢谢!

编辑:<div class="hidden">可以很容易地<div class="abc">,提供.abc { display: none; }

4

3 回答 3

0

I honestly don't think someone writing a spam-bot would try to interact with hidden fields. They are trying to mimic human behavior, with normal browsers, and those don't see anything "hidden".

于 2012-08-31T08:18:23.033 回答
0

我自己也使用这种方法,但最近 SpamBots 变得很聪明。

我刚刚看到的另一种方法是 TIMER,虽然更难实现。因此,如果他们至少没有花费最少的时间来填写它,那么它可能是一个垃圾邮件机器人。虽然,如果他们使用一些东西来自动填写,那么他们可能会很快填写。

以下是该方法的工作原理: http: //pageaffairs.com/notebook/contact-form-honeypots

于 2014-04-17T21:13:53.163 回答
0

我知道这是一个老问题,但我认为它越来越重要,因为(根据我的经验)蜜罐技术是有效的。我昨天刚刚就类似问题提供了反馈,因此我将在此处删除该链接,而不是重复。

我认为,诀窍在于了解机器人是如何工作的。例如:它们是为提高效率而设计的,这意味着速度,这意味着它们填写和提交表单的速度比人类快得多。任何与人类行为不同的东西都可以成为阻止他们的目标。无论它们可能如何发展,这是要保持的关键理解。

于 2019-03-28T13:25:43.287 回答