我已经读过,可以通过使用JS在必须设置的表单中创建一个复选框来阻止机器人(即http://uxmovement.com/forms/captchas-vs-spambots-why-the-checkbox-captcha-wins/)。这个策略有效吗?用户是否需要物理检查该框,或者客户端JS是否也可以用来检查它?
答案 0 :(得分:5)
这篇文章对我来说似乎很可疑。 复选框验证码似乎是一个很好的防范垃圾邮件机器人,盲目地填写表单,对它们碰巧在的网站一无所知,但是如果有人正在编写一个对你有任何洞察力的机器人页面,好处就此结束。
最后,重要的是HTTP帖子。如果服务器可以验证POST,那么POST的创建方式或者客户端上可能运行的脚本并不重要。如果服务器正在查找名为NotABot
的POST值,其值等于1
,则垃圾邮件机器人可以将此值简单地包含在自己的POST中,因为服务器不知道是否有复选框是通过客户端脚本创建的。如果值必须等于初始HTML中提供的随机值,则spambot也可以获取该值。如果值必须与图像上提供的值匹配,那么您基本上创建了一个CAPTCHA。
最后,这是一项成本/收益分析,取决于您对垃圾邮件的风险承受能力与您对可用性的需求。运行一个较小的网站,也许每个帖子都可以在允许之前由人来主持。也许你不会得到足够的垃圾邮件来保证可用性的降低。如果您正在运行数百万人使用的大型站点,则可能需要采取更积极的措施来抵御机器人。这真的是你的要求。
答案 1 :(得分:4)
对于不引人注意的方法,最好的选择是混淆。也就是说,假设一个邪恶的垃圾邮件公司雇用了一个人来弄清楚如何为你的网站编写一个机器人(99%的时间赢了,除非你为数百万用户提供服务),你需要尽可能地节省时间,以便了解您网站的内容。
我曾经在我的网站的客人评论中有机器人,所以我决定过火。 (我的网站上需要使用Javascript。禁用它的人中只有很小一部分是通常的机器人或网络开发人员)