我相信Captcha对UX有负面影响.我正在考虑使用隐藏的字段,但显然它们根本没有效果(参考:http://radio.javaranch.com/davo/2008/10/15/1224063498569.html)
对该条的评论指出:
As someone that writes CAPTCHA crackers as part of my job (no,not for
spamming),I can assure you that a hidden field would in no way trip
me up. As another poster mentioned,I check the over the wire traffic,
and don’t pay much attention to what happens to be in the HTML of the
form.
这让我相信spambots会向服务器发出直接的POST请求,而不是请求表单并填写它.
如果是这种情况,如果我创建一个隐藏的只读字段,我预先填充了存储在SESSION中的哈希,该怎么办?当用户提交表单时,我可以比较这些值.这可以作为一种方法来阻止垃圾邮件,或者我是否在监督某些事情?
如果永远不会请求表单,我当然不会在会话中找到任何存储的哈希值,因此可以忽略该请求.
您还可以考虑添加JavaScript来修改给定的质询并以某种方式对其进行修改.然后,攻击者需要在自动复制代码之前找出代码所执行的操作.转换可以是简单的rot13或更复杂的xor操作.像md5,sha1这样的东西是已建立的算法,因此这些选择很差;它必须是定制的.
当然,如果攻击者绑定了您的网站,那么您无法阻止垃圾邮件进入;这是丑陋的事实.例如,他们可以运行Selenium并绕过您精心构建的所有JavaScript保护.