我有一个网站,我正在为用户提供电子邮件加密,我正在试图找出是否有办法检测如果用户是人或机器人。 我一直在深入挖掘php中的 $ _ SESSION ,但它很容易绕过,我也对验证码, useragent 或登录解决方案,对我需要的任何想法?
在SO中还有其他与此类似的问题,但我找不到任何直接答案......
非常欢迎任何帮助,谢谢大家!
答案 0 :(得分:18)
答案 1 :(得分:2)
我已经看过/使用了一个简单的算术问题,其中包括:
请回答以下问题以证明您是人: “什么是两加四?”
以及需要阅读的类似简单问题:
“男人最好的朋友是什么?”
如果尝试访问的人不熟悉主题,并且所有读者都可以访问,那么你可以提供无穷无尽的问题。
答案 2 :(得分:2)
公司使用验证码或登录的原因是有道理的。像验证码一样丑陋的解决方案,它们目前是除草机器人的最佳(最准确,最不具破坏性的用户)方式。如果登录解决方案不适合您,我担心唯一可行的解决方案是验证码。
答案 3 :(得分:2)
我最喜欢的方式是向“用户”展示一只猫或狗的图片并询问“这是猫还是狗?”没有人会犯这样的错误;计算机可能在60%的时间内正确运行(因此您必须多次运行它)。有一个project会给你一堆猫狗照片 - 而且,所有动物都可以收养,所以如果用户喜欢宠物,他就可以拥有它。
这是一个微软的企业项目,让我处于一种认知失调状态,好像我发现Harry Reid喜欢zydeco音乐或乔治布什抽烟。哦,等等......
答案 4 :(得分:1)
如果用户填写表单,蜜罐字段很容易实现,并且可以合理有效,但没有什么是完美的。在表单中创建一个或多个隐藏字段,如果它们在发布表单时包含任何内容,则拒绝表单。 Spambots通常会尝试填写所有内容。
您需要了解辅助功能。隐藏字段可能不会由使用标准浏览器的人填写(字段不可见),但使用屏幕阅读器的人可能会显示该字段。请务必正确标记,以便这些用户不会填写它。也许请使用类似“请帮助我们通过将此字段留空来防止垃圾邮件”。此外,如果您拒绝该表单,请务必使用有用的错误消息拒绝该表单,以防万一已由人填写。
答案 5 :(得分:0)
我建议使用Growmap Anti Spambot Wordpress插件,看看你可以从中借用什么代码,或者只使用相同的技术。我发现这个插件非常有效地减少了我的WordPress网站上的自动垃圾邮件,我开始为我的ASP.NET网站调整相同的技术。
唯一不涉及的是人为剪切和粘贴垃圾邮件发送者。