这种验证码方法存在哪些缺点?

3
我在许多网站上的所有表格中使用这种验证码方法。基本原理是我有一个被CSS隐藏的文本框,如果服务器端代码确定此框中有任何内容,则表单未完成。
客户端:
<li id="li-cap"><label>Leave this field blank</label><input type="text" maxlength="30" id="cap" name="cap" /></li>

CSS(层叠样式表):
#li-cap{display:none}

服务器端伪代码:
if(!nullOrEmpty(input#cap))
{
    return post back to form with error
}
else
{
    process form
}

这是暂时忽略任何客户端验证的意思。
我一直在使用这种验证码形式(我相信它有一个名字,但我不记得了,我想它以“p”开头),现在我看到很多不同种类的验证码:数学求和、图像上的随机字母、问题等等。
我的版本不需要用户输入,我也没有收到垃圾表单。这真的是一个好方法吗,还是我只是有点幸运?我应该使用更强的方法吗?

1
我正在使用同样的方法,效果非常好。我没有收到任何机器人/表单垃圾邮件。唯一的缺点是仍然会有一些基于网站的机器人发送垃圾邮件,但这个数量很少,我可以接受。 - GuZzie
1个回答

2
这种验证码对于填写所有字段的普通垃圾邮件机器人来说相对较强。然而,对于基于网站的洪水机器人来说完全无效,这就是为什么它不会在高流量网站上使用的原因。

你会将哪些网站归类为高流量网站? - kolin
只有那些能吸引脚本小子或仇恨者的网站,我想。不仅是高流量的网站,这是事实:你拥有的访问者越多,你得到的仇恨者就越多。 - Iso

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接