联系表格,僵尸程序和无耻垃圾邮件

Depositphotos 52422737年代

反垃圾邮件是电子邮件的一个重要主题。 多年来,人们一直在努力保持收件箱清洁,从烦人的事情 垃圾邮件 简单的垃圾邮件过滤器的工具,具有对假阳性的不可思议的能力。 实际上,电子邮件垃圾邮件变得如此令人讨厌,以至于政府甚至介入(并想象)并制定了有关它的法律。 但是,还有一种垃圾邮件仍然可以由警务人员来抓获……我希望您能帮助我。

它最初只是一个烦人的事,但后来却演变为全面的业务中断。 每次提交表单都会自动触发我的CRM的潜在客户。 这意味着在过去的一年左右的时间里,我有大量潜在客户可以出售给SEO公司,这些公司可以将我带到Google第1页。 因此,我着手创建一个家庭酿造表单处理程序,它将开始识别和消除这些令人讨厌的垃圾邮件发送者,而不会带来假阳性的风险。 因为毕竟,尽管我讨厌垃圾邮件,但我更讨厌失去的机会。

首先,我将可以消除的垃圾邮件类型归纳为以下两类:

  1. 提交错误数据只是为了获得表格后面的Cookie的真实人……免费试用版,免费白皮书, 点滴营销 内容等
  2. 爬网的机器人将联属会员链接和错误数据提交到他们可以找到的任何形式。

另外,作为这个小型协作项目的一部分(您可以在此处通过评论加入),让我添加以下参数:NO CAPTCHA。 我自己一半时间都看不懂当下的东西,因此有理由担心,CAPTCHA本身仅凭困难就减少了潜在客户的转换。

因此,诀窍是创建一系列逻辑测试,以使他们可以运行表单提交的数据,这些数据将在相当大的时间内肯定识别垃圾邮件,而几乎不会阻止合法线索。

我在这里:

  1. 将输入插入表单,类型为text,但是样式为“ display:none;”。 Bot会自然地将值注入任何文本输入字段,以绕过所需的字段检查器。 但是,如果要在此特定字段中提交数据,我们可以肯定地知道有人没有这样做。
  2. 检查“ asdf”。 我知道这很简单,但是有关历史垃圾邮件的报告显示,这是一种非常流行的错误提交形式。 如果字符串asdf出现在任何字段中,则为垃圾邮件。
  3. 检查是否有重复字符。 我试了又试,但我想不出一个合理的理由,即任何字符在名称,公司名称或地址字段中都应重复3次以上。 如果您可以说服我,那太好了。 就目前而言,“ XXXX咨询公司”将不会成为我的领导者。
  4. 检查相同的字符串。 除了蒂姆·艾伦的邻居威尔逊·威尔逊以外,我认识的任何人在联系表格的所有字段中都没有相同的字符串值。 如果太多字段相同,则为垃圾邮件。
  5. 最后,这是关键: 检查它们不属于的URL。 最典型的垃圾邮件案例之一是将URL放置在不属于该字段的字段中。 在文本区域“消息”框之外,不得将URL用作姓名,电话号码,公司名称或其他名称。 如果他们尝试,那就是垃圾邮件。

在过去的一个月中,这5项逻辑测试使垃圾邮件提交量减少了70%以上 免费联系表格 产品。 我希望这个数字更高。 SEO提供的臭名昭著的垃圾邮件提交数量最多。 因此,这是下一个挑战:您能否提出一系列关键术语和密度阈值,以合理地表明提交内容在谈论SEO? 当然,这对于SlingShot的家伙在他们的网站上实施可能不是一个好主意,但是对于我们其他人来说,这很合适。

Web开发人员团结一致:还应该测试哪些内容?

5条评论

  1. 1

    我非常喜欢使用 display:none 添加字段的想法。 真是天才! 很多个月前,我写了一篇关于 Captcha 技术有多糟糕的帖子……它惩罚了无辜者,并为用户增加了额外的、不必要的步骤。 这是用户体验的对立面。 我可能会测试你的隐藏领域!

  2. 2

    我非常喜欢使用 display:none 添加字段的想法。 真是天才! 很多个月前,我写了一篇关于 Captcha 技术有多糟糕的帖子……它惩罚了无辜者,并为用户增加了额外的、不必要的步骤。 这是用户体验的对立面。 我可能会测试你的隐藏领域!

  3. 3

    它确实工作得很好,但如果你在现有表单上推出它,效果可能需要一段时间才能传播。 机器人通常会缓存您的表单并在几周前看到它时发布到它,直到他们回来再次看到它。 因此,只要他们发布到您的缓存表单,他们就会通过。 在大约一个月内,您应该开始看到结果。

  4. 4

    1. 一个定时器;
    2. 难以猜测的表单字段名称;
    3. 服务器端表单验证;
    4. 一个不期望有值的表单域;
    5. 让 JavaScript 更新带有表单提交的隐藏字段;
    6. 使用 JavaScript 更改提交时的表单属性;

    #1 是我的最爱。 加载联系人(或任何页面)页面后立即启动计时器。 在服务器端设置填写表格所需的预期时间。 如果提交得太早,用户将看到一条消息/帐户被禁用/管理员收到一封电子邮件/等。 这实际上消除了 99.9% 的任何类型的机器人活动。

    #2 在会话中存储字段名称并为字段提供随机名称。 让机器人很难学习。

    #3 这个很重要。 使用正则表达式可以非常准确地验证电子邮件,一个电话号码字段应该包含 10 个数字,2 个或更多具有相同值 = bot 的字段等。

    #4 在你的文章中解释,5 和 6 一些脚本选项。

  5. 5

    谢谢你的帖子,尼克。 欣赏分享。

    Martin – 我认为计时器是个好主意。 我假设一个机器人会快速通过它并且阈值会有点低……也许是 5 秒? 我只是好奇,因为实际用户以及返回页面并立即知道他们想要填写表格的用户预先填写了表格。 只是我的两便士。 我知道我在这篇文章上迟到了一年左右,所以不要期待太多的回复,只是把它放在那里希望🙂

    再次感谢!

    戴夫

你觉得呢?

本网站使用Akismet来减少垃圾邮件。 了解您的数据如何处理.