12

我公司的一位比我排名更高的成员拒绝在他的网站上使用 recaptcha.net 来阻止来自公共表单的垃圾邮件。他认为任何来到我们网站的人都很难输入他们的信息,因为图灵测试“非常难以阅读”。

有没有使用这种方法的替代方法? 那不包含这些难以阅读的图像?

(好吧,愚蠢的问题......如果由我决定,我们会使用recaptcha,因为地球上的其他人都这样做......但我只是想我还是会检查一下。)

此外,使用由 Javascript 设置并随后在服务器上检查的隐藏字段真的是阻止垃圾邮件的好方法吗?

我自己并不真正相信它......因为有各种各样的 Javascript 引擎不能在浏览器中运行但可以运行 Javascript(Rhino 等......),这很容易被用来阻止 JS /服务器端反垃圾邮件方法。

4

12 回答 12

9

CAPTCHA 将减少您的垃圾邮件,但不会消除它。人们得到报酬来破译这些字形。一些网站将呈现给他们的字形用于他们自己的网站,因此一些倒霉的访问者会破译它。

只是为了让您知道这不是一个完美的解决方案。

基于不解决问题直到问题出现的原则:垃圾邮件是您网站上的一个重大问题吗?为了不惹恼您的客户/访客,有话要说。即使在这里,有时我也需要进行一些编辑,并且通常在我需要进行的最后一次编辑时,我会得到令人讨厌的“我是人类”测试。它很烦人。

人们已经提出了各种其他方法来处理这个问题。我读过一篇关于猫和狗的旧照片,你必须对其进行分类,因为显然在美国有一个包含 30 多万张关于被遗弃的动物或类似动物的数据库。这个或任何被广泛使用的东西都将被击败。

网站上垃圾邮件的最大问题是如果您使用广泛使用的软件(例如 phpBB)。您最好的选择是进行足够的修改以击败开箱即用的脚本。无论如何,您可能会成为目标,但垃圾邮件是一种高容量低成功率的游戏。在您的网站占据大量流量之前,没有真正的理由来定位您的网站。

另一件值得一提的是可以用来击败脚本垃圾邮件的技术:

  • 使用 Javascript 编写关键内容,而不是将其包含为静态 HTML。这很难处理(但并非不可能);
  • 重命名和/或重新排序用户名和密码等关键字段。例如,生成用户名和密码表单字段并将它们存储为会话变量,以便它们仅适用于该用户。然后要求用户使用登录表单访问页面(而不是编写可以直接发布的表单响应脚本);
  • 混淆表单提交。可以在 jQuery 和类似框架中执行的不显眼的 Javascript 之类的事情使这变得非常容易;
  • 包括验证码图像和字段框,然后不显示它们(在 CSS 中显示:无)。你会混淆解析器。
于 2009-01-22T22:24:57.857 回答
9

对于不太受欢迎的网站,最好的方法是插入一个隐藏字段并检查它。如果它被填满,那么它就是垃圾邮件,因为这些机器人只是填写他们找到的任何字段。

于 2009-01-22T22:39:52.523 回答
4

您可能想研究Akistmet和/或Mollom

于 2009-01-22T23:19:25.127 回答
1

添加一个非标准的必填字段。例如,要求选中一个显示“检查我”的复选框。这将击败任何不是为您的网站量身定制的自动化脚本。请记住,它不会击败专门针对您网站的任何人。

于 2009-01-22T22:22:36.617 回答
1

一种简单的方法是显示一个“橙色”的图像,并要求用户输入。

于 2009-07-11T17:37:16.730 回答
1

是的,recaptcha 会减少垃圾邮件,但也会减少转换!您应该考虑使用 XVerify 进行实时数据验证。使这些注册成为垃圾邮件的是虚假数据,XVerify 将通过验证用户的电子邮件地址、电话号码和实际地址来确保您输入的信息是真实数据。如果信息是假的,用户不能点击继续!简单的!

于 2012-07-09T19:08:22.180 回答
0

我曾经认为 CAPTCHA 很好,并在公共表单上使用了 reCAPTCHA。我注意到垃圾邮件提交消失了,但我也注意到真正的提交也大幅减少。

现在我不相信验证码。他们工作,但我觉得他们弊大于利。在不得不在其他网站上输入难以阅读的验证码后,我明白为什么我没有得到尽可能多的真实提交。用户必须采取的与其主要目标无关的任何输入都是一种威慑。

我通常使用几种方法来防止垃圾邮件,这取决于我期望表单中的内容类型。我创建了服务器方法来扫描评论并将其标记为基于内容的垃圾邮件。它工作正常,但我不是垃圾邮件专家,所以它不能很好地工作。我希望有人会做一个这样做的网络服务。

我认为埃文的链接很有趣!

于 2009-02-19T01:15:37.680 回答
0

我听说的另一种方法,它基本上扩展了 javascript 的思想,是让客户端的浏览器执行可配置的 JavaScript 计算。

它已在 NoBot 示例中实现,作为 Microsoft AJAX 控制工具包 http://www.asp.net/AJAX/AjaxControlToolkit/Samples/NoBot/NoBot.aspx的一部分,以了解有关其工作原理的更多详细信息。

于 2009-04-18T16:07:33.637 回答
0

我找到了一个名为Are You A Human的替代方法。并不是说程序员应该凭直觉行事,而是从一开始它就显得不安全。因为你玩的游戏很有趣,所以我决定试一试。它对我不起作用。主机可能没有为此设置。这是我检查的最后一件事。

如果其他人尝试过,我想知道它是如何工作的。

于 2012-09-28T06:24:00.463 回答
0

我以前使用过Confident Captcha,它很容易设置和运行。此外,我在我管理的论坛上没有收到任何垃圾邮件。

它不是基于文本的验证码,而是使用类似于 picaptcha 的图像。我之前尝试过“你是人类吗”,这绝对是一个有趣的概念。

于 2012-10-03T16:45:15.437 回答
0

找到一个名为NuCaptcha的显示移动字母的...

于 2013-06-13T18:57:23.380 回答
0

8年后...

我一直在寻找 Google 的 reCaptcha 的替代品,它不会破坏用户体验、跟踪用户等,并找到了这个宝石:Coinhive Captcha

在此处输入图像描述

它通过在后台挖掘门罗币(哈希计数可调整)来工作,并提供服务器端 API 来验证它。应该注意的是 - 根据要解决的所选哈希计数 - 它可能会很慢,特别是在移动设备上。

于 2017-10-29T12:44:23.817 回答