首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django -避免机器通过自动化提交验证码和数据

Django -避免机器通过自动化提交验证码和数据
EN

Stack Overflow用户
提问于 2012-10-23 01:12:02
回答 3查看 70关注 0票数 0

有什么方法可以避免验证码来识别表单是由Human提交的吗?现在,验证码对终端用户来说已经很烦人了。所以我很好奇,后台是怎么处理的?

EN

回答 3

Stack Overflow用户

发布于 2012-10-23 01:16:03

有些论坛会问用户一些简单的问题:

什么是向后的红色?

2+ 3是什么?

键入单词"your“,全部大写

如果你有10个苹果,我拿走3个,你有多少个?

只是简单的问题,但是随机的,所以程序不能很容易地回答它们。

票数 2
EN

Stack Overflow用户

发布于 2012-10-23 02:43:28

验证码的相反选择是蜜罐。这是一个不会显示给用户的字段,也不应该填写:但会给出一个明显的字段名称,以便自动系统填写它。然后,后端只需要检查字段是否不包含任何值:如果字段包含任何值,则表单无效。Django的comments框架使用了这种技术。它不是特别可靠,但它确实过滤掉了一些最糟糕的机器人。

票数 2
EN

Stack Overflow用户

发布于 2012-10-23 02:16:16

通过在表单上创建被CSS完全隐藏的字段,您可以部分防御不以任何特定站点为目标的漫游机器人。人类永远不会填写这些字段,但机器人不会意识到这些字段对人类是不可见的,并且可能会填充它们。

然而,这并不是针对专门攻击您的站点的机器人的保护。这个问题需要某种验证码或其他验证码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13016352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档