隐藏字段作为ASP.NET MVC2应用程序中的(重新)CAPTCHA替代方案

时间:2010-08-21 20:38:47

标签: asp.net-mvc-2 captcha recaptcha

我正在我目前参与的网络项目中写一个“联系我们”表格。虽然我过去使用过reCAPTCHA,但对于这个项目,我宁愿不要在界面上添加额外的图像,字段等。

你们中有多少人有过在表单中​​添加名为“first_name”的隐藏字段的经验。这个想法是,如果该字段填充,那么提交者很可能是人类。但后来我问,机器人不会检查该字段是否被隐藏?

4 个答案:

答案 0 :(得分:3)

这完全可行。机器人不是很聪明,很容易被骗到这些领域,有时被称为“蜜罐”。

读取:

答案 1 :(得分:3)

不是让它成为一个隐藏的字段,你不能用CSS隐藏它吗?

答案 2 :(得分:1)

虽然很聪明,但我不会把所有的钱押在上面。即使是更通用的非定位特定网站机器人也可以轻松重写以跳过隐藏的字段(通过CSS或任何内容)。如果隐藏字段验证码变得流行,我很确定很快就会对机器人进行修改。

这篇文章here有一些您可能想要考虑的想法。

答案 3 :(得分:1)

这是Captcha的一个很好的替代方案,不会影响可用性。它可能不是100%安全,但也不是验证码。

最好使用CSS隐藏字段而不是type=hidden,因为机器人可以非常简单地识别并跳过隐藏的类型字段。但是,检测到该字段是使用CSS隐藏的,也需要机器人解析CSS,尽管这可能是更多的工作。机器人并不打算闯入每个站点。他们只是寻找简单的选择。

此外,将隐藏字段命名为含糊不清的内容,例如foobar或类似内容。这是因为浏览器通常会自动填充表单,如果您将其命名为first name,浏览器很可能会自动填充它。