Asp.net mvc 2 ASP.NET MVC2应用程序中作为(重新)验证码备选方案的隐藏字段

Asp.net mvc 2 ASP.NET MVC2应用程序中作为(重新)验证码备选方案的隐藏字段,asp.net-mvc-2,captcha,recaptcha,Asp.net Mvc 2,Captcha,Recaptcha,我正在写一份关于我目前参与的一个网络项目的“联系我们”表格。虽然我在过去使用过reCAPTCHA,但在这个项目中,我不希望用额外的图像、字段等干扰界面 你们中有多少人有在表单中添加名为“first_name”之类的隐藏字段的经验。其想法是,如果字段未填充,则提交者很可能是人类。但是我又问,机器人会不会检查这个字段是否隐藏?这是完全可行的。机器人不是很聪明,它们很容易被欺骗进入这些领域,有时被称为“蜜罐” 阅读: 你不能用CSS隐藏它,而不是把它变成一个隐藏字段吗?虽然很聪明,但我不会把所有

我正在写一份关于我目前参与的一个网络项目的“联系我们”表格。虽然我在过去使用过reCAPTCHA,但在这个项目中,我不希望用额外的图像、字段等干扰界面


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

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

阅读:

你不能用CSS隐藏它,而不是把它变成一个隐藏字段吗?

虽然很聪明,但我不会把所有的钱都押在它上面。即使是更通用的非特定目标站点机器人也可以轻松地重写以跳过隐藏的字段(通过css或任何方式)。如果隐藏字段验证码变得流行,我很确定机器人也将很快为此进行修改


<>这篇文章有一些你想考虑的想法。

< P>这是一个很好的替代CAPTCHA而不影响可用性的方法。它可能不是100%安全的,但验证码也不是

使用CSS隐藏字段比使用
type=hidden
更好,因为机器人程序可以非常容易地识别和跳过隐藏的类型字段。然而,如果使用CSS检测到字段是隐藏的,则需要bot也解析CSS,这虽然可能,但需要更多的工作。机器人的目标并不是侵入每个网站。他们只是寻找容易的选择


此外,将隐藏字段命名为模糊的名称,例如
foobar
或类似名称。这是因为浏览器通常会自动完成表单,如果你把它命名为
first name
,浏览器很有可能会自动填充表单。

+1为了在Mind中获得用户体验,我也有类似的解决方案。随它去吧,记住解决方案永远不会一成不变。如果需要,您可以随时更改它,但如果它足够,它是最好的(UX)解决方案。