我的网站上有一个简单的注册表单(名称,电子邮件,密码),我希望实现某种反僵尸/垃圾邮件保护,Captcha似乎是一个非常漫长的方式,加上他们真的很烦我在网站上看到他们。有没有人可以采用另一种方法来防范轻量级垃圾邮件并简单集成?
答案 0 :(得分:14)
另一种方法是使用隐藏的表单字段作为机器人的蜜罐。可以使用Javascript中的适当值填充此字段,也可以将其留空。无论哪种方式,如果该值不是您所期望的,那么您可以将提交视为垃圾邮件。这不会阻止专门针对您网站的僵尸程序,但它会阻止大多数只看到表单并将其填满的常见垃圾邮件机器人。
答案 1 :(得分:5)
最简单的解决方案是让用户解决像3 + 2这样的数学方程式。我认为,没有人会为起始网站制作垃圾邮件机器人。或者,如果需要,请使用ReCaptcha。
答案 2 :(得分:4)
他们很烦人,但最有效的方法是检测自动机器人。如果Google,Yahoo!等大型网站不需要验证码来检测机器人那么他们就不会使用它们,因为就像你说他们不是非常用户友好。
我一直在重复这一点,但我们不需要另一个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进行相同的控制。 在我使用过的所有网站都没有收到垃圾邮件。
...对不起我的英文...... 谢谢所有