有什么方法可以避免验证码识别表单是由人类提交的吗?现在一天,验证码对最终用户来说很烦人。所以我只是想知道,如何在后端处理?
问问题
71 次
3 回答
2
与验证码相反的替代方案是蜜罐。这是一个不向用户显示的字段,也不应该填写:但被赋予了一个明显的字段名称,以便自动化系统被吸引填写它。然后后端只需要检查字段不包含值:如果它确实包含任何值,则表单无效。Django 的评论框架使用了这种技术。它不是特别可靠,但它确实过滤掉了一些最糟糕的机器人。
于 2012-10-22T18:43:27.967 回答
2
一些论坛会向用户提出简单的问题:
什么是反红?
什么是 2 + 3?
用所有大写字母输入单词“your”
如果你有 10 个苹果,我拿走了 3 个,你有几个?
只是简单的问题,但是随机的,因此程序无法轻松回答它们。
于 2012-10-22T17:16:02.840 回答
1
您可以通过在表单上创建完全被 CSS 隐藏的字段来部分防御不针对任何特定站点的漫游机器人。人类永远不会填写这些字段,但机器人不会意识到该字段对人类是不可见的,并且可能会填写它们。
但是,对于专门为攻击您的站点而编写的机器人,这并不能提供保护。这个问题需要某种验证码或其他。
于 2012-10-22T18:16:16.310 回答