Captcha的替代品?

时间:2011-06-28 23:09:32

标签: php javascript captcha

我的网站上有一个简单的注册表单(名称,电子邮件,密码),我希望实现某种反僵尸/垃圾邮件保护,Captcha似乎是一个非常漫长的方式,加上他们真的很烦我在网站上看到他们。有没有人可以采用另一种方法来防范轻量级垃圾邮件并简单集成?

8 个答案:

答案 0 :(得分:14)

另一种方法是使用隐藏的表单字段作为机器人的蜜罐。可以使用Javascript中的适当值填充此字段,也可以将其留空。无论哪种方式,如果该值不是您所期望的,那么您可以将提交视为垃圾邮件。这不会阻止专门针对您网站的僵尸程序,但它会阻止大多数只看到表单并将其填满的常见垃圾邮件机器人。

答案 1 :(得分:5)

最简单的解决方案是让用户解决像3 + 2这样的数学方程式。我认为,没有人会为起始网站制作垃圾邮件机器人。或者,如果需要,请使用ReCaptcha

答案 2 :(得分:4)

验证码

他们很烦人,但最有效的方法是检测自动机器人。如果Google,Yahoo!等大型网站不需要验证码来检测机器人那么他们就不会使用它们,因为就像你说他们不是非常用户友好。

的OpenID

我一直在重复这一点,但我们不需要另一个username/password,我认为您应该实施openID来验证您的用户。我在https://github.com/alfredwesterveld/php-openid创建了一个库,类似于登录,可以在stackoverflow.com找到。如果你想首先观看一个演示,你可以试试我在http://westerveld.name/php-openid/提供的一个小演示上的openID。使用OpenID时,用户可能必须执行一次验证码验证才能创建帐户。

防止僵尸程序

垃圾邮件

例如,如果您想检测评论是否为垃圾评论,则可以使用akismet之类的内容。

  

Akismet过滤掉你的评论和   跟踪垃圾邮件给你,所以你可以   专注于更重要的事情。

对于个人博客,您可以免费使用(或者如果您喜欢产品,可以捐赠)。对于小型商业博客,您必须每月支付5美元来检测垃圾评论。

其他

验证人类的其他一些形式是:

  • 使用唯一链接或其他内容发送电子邮件验证。
  • 仅允许您认识的用户是人。其余的应该首先证明他们是你的用户。

所有这些形式的验证都可以被打破,甚至CAPTCHA(特别是简单的)可以被真正的智能机器人打破,但现在是防止验证的最佳解决方案。

答案 3 :(得分:2)

新编辑: 我刚刚实现了类似的东西:http://jsfiddle.net/ravan/FK4st/2/

修改 更好的选择是显示3个正方形,每个正方形一种颜色,并要求用户单击特定颜色。您还可以使用多个以低不透明度覆盖的div来获取颜色网格。对用户没有区别,但对垃圾邮件发送者来说却是一件令人头疼的事。

旧答案: 您可以向用户询问一些内容,例如:

What day is today?

What day of the week comes after tomorow?

How much is 2+2?

请注意,它不像验证码那么安全,但应过滤一些垃圾邮件发送者。

答案 4 :(得分:2)

我曾经使用过“哪个更热,火还是冰?”接下来是一个文本框,它停止了每个spambot的轨道。 Example here

答案 5 :(得分:2)

创建一个javascript计数器,并在用户开始输入时启动它。并用评论长度分析这些数据。

抽样率为:

0ms<机器人

5ms<副本&糊

60秒<真正的人类

1小时<阿尔茨海默氏症的老人

答案 6 :(得分:1)

看看你是否可以使用滑块验证码: 演示:http://www.myjqueryplugins.com/QapTcha/demo

此处列出了许多替代方案:http://plugins.jquery.com/plugin-tags/captcha

答案 7 :(得分:0)

(对不起我的英文) 我今天要求日期输入文本大小为6,并指定格式例如(GGMMAA) 使用PHP我控制这个字段是否与我的日期相符(“dmy”); 我想如果有必要,可以使用javascript进行相同的控制。 在我使用过的所有网站都没有收到垃圾邮件。

...对不起我的英文...... 谢谢所有