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

时间:2012-10-22 17:12:02

标签: django django-forms

有没有办法避免验证码来识别人类提交的表格?现在有一天,验证码对最终用户来说很烦人。所以我很想知道如何在后端处理?

3 个答案:

答案 0 :(得分:2)

有些论坛会向用户提出简单的问题:

  

什么是红色向后?

     

什么是2 + 3?

     

在所有大写中输入“你的”一词

     

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

只是简单的问题,但是随机的,以致程序无法轻易回答它们。

答案 1 :(得分:2)

CAPTCHA的另一种选择是蜜罐。这是一个未向用户显示的字段,不应填写:但是会给出一个明显的字段名称,以便自动系统被吸引填充。后端只需要检查字段不包含任何值:如果它包含任何值,则表单无效。 Django的评论框架使用了这种技术。它不是特别可靠,但它确实过滤掉了一些最糟糕的机器人。

答案 2 :(得分:1)

您可以通过在表单上创建完全由CSS隐藏的字段来部分防御未针对任何特定网站的漫游机器人。人类永远不会填补这些领域,但机器人不会意识到该领域对人类是不可见的并且可能会填补它们。

但是,对于专门攻击您网站的机器人而言,这不是一种保护措施。这个问题需要某种CAPTCHA或其他。