是否有任何替代recaptcha.net,以阻止垃圾邮件?

时间:2009-01-22 22:08:08

标签: usability captcha spam-prevention recaptcha

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

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

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

另外,使用Javascript设置的隐藏字段以及稍后在服务器上检查确实是一种解决垃圾邮件的好方法吗?

我自己并不真的买它是...因为有各种各样的Javascript引擎不能在浏览器中运行但可以运行Javascript(Rhino等...),这很容易被用来解决JS / Serverside反垃圾邮件方法。

13 个答案:

答案 0 :(得分:9)

CAPTCHA会减少您的垃圾邮件,但不会消除它。人们有权破译这些字形。有些网站使用为他们自己的网站呈现给他们的字形,所以一些不幸的访问者将破译它。

因此,您知道这不是一个完美的解决方案。

基于在问题出现之前不解决问题的原则:垃圾邮件是否是您网站上的一个重大问题?有一点可以说是不会让你的顾客/访客烦恼。即使在这里,我有时也需要进行一些编辑,并且通常在我需要进行的最后一次编辑时,我会感到烦躁的“我是人类”测试。这很烦人。

人们已经提出了各种其他方法来解决这个问题。我读过一篇关于使用猫狗的照片,你必须将其分类,因为在美国,有一个数据库中有3000多万只用于被遗弃的动物或其他类似物。这种或任何广泛使用的东西都会被打败。

网站上垃圾邮件的最大问题是如果您使用广泛使用的软件(例如phpBB)。你最好的选择就是做出足够的修改来打败开箱即用的脚本。无论如何你可能会成为目标,但垃圾邮件是一个高成功的低成功游戏。没有真正的理由来定位您的网站,直到它占据了大量的流量。

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

  • 使用Javascript编写关键内容,而不是将其包含为静态HTML。这很难处理(但并非不可能);
  • 重命名和/或重新排序用户名和密码等关键字段。例如,生成用户名和密码表单字段并将其存储为会话变量,以便它们仅适用于该用户。然后,这要求用户使用登录表单访问该页面(而不是编写可以直接POST的表单响应脚本);
  • 模糊表单提交。你可以在jQuery和类似框架中做的不引人注目的Javascript之类的东西让这很容易;
  • 包含CAPTCHA图像和字段框,然后不显示它们(CSS中显示:无)。你会混淆解析器。

答案 1 :(得分:9)

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

答案 2 :(得分:4)

您可能需要查看Akistmet和/或Mollom

答案 3 :(得分:1)

添加非标准的必填输入字段。例如,需要一个选中“检查我”的复选框进行检查。这将击败任何不适合您网站的自动脚本。请记住,它不会击败任何专门针对您网站的人。

答案 4 :(得分:1)

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

答案 5 :(得分:1)

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

答案 6 :(得分:0)

我们有一个替代方案,专门用于处理您的同事关心的可用性问题。目前,我们为RESTful API提供了PHP和Python库,以及WordPress plugin。更多应该很快就会在路上。它也是可配置的。随意demo itSee the configuration options。希望你会喜欢它并check out the code

答案 7 :(得分:0)

我曾经认为CAPTCHA很好并且在公共表格上使用了reCAPTCHA。我注意到垃圾邮件提交已经消失,但我也注意到实际提交的内容也大幅减少了。

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

我通常使用多种方法来防止垃圾邮件,这取决于我期望在表单中使用的内容类型。我创建了扫描注释的服务器方法,并根据内容将其标记为垃圾邮件。它工作正常,但我不是垃圾邮件专家,因此效果不佳。我希望有人能做出这样做的网络服务。

我认为Evan的链接非常有趣!

答案 8 :(得分:0)

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

它已作为Microsoft AJAX Control Toolkit的一部分在NoBot示例中实现 http://www.asp.net/AJAX/AjaxControlToolkit/Samples/NoBot/NoBot.aspx了解其工作原理的更多细节。

答案 9 :(得分:0)

我找到了一个名为Are You A Human的替代方案。并不是说程序员应该保持直觉,但从一开始它似乎不安全。既然你玩的是一款有趣的游戏,我决定尝试一下。它对我不起作用。主机可能没有为它设置。这是我要检查的最后一件事。

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

答案 10 :(得分:0)

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

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

答案 11 :(得分:0)

找到一个名为NuCaptcha的人,显示移动信件......

答案 12 :(得分:0)

8年后......

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

enter image description here

它的工作原理是在后台挖掘Monero个硬币(哈希计数可调),并提供服务器端API来验证它。应该注意的是,根据所选择的哈希计数,它可能很慢,特别是在移动设备上。

相关问题