首页 > 解决方案 > Django:验证隐藏的输入

问题描述

在验证隐藏输入时,我目前需要一些关于最佳实践的建议。

我的情况需要我连接一些对象,并且我有一个包含一些字段的表单,这些字段提供有关如何连接这些对象的信息。不过,我还需要知道要连接哪些对象,我认为最好使用隐藏输入来做到这一点。将有两个隐藏的输入字段,都提供 pk 的整数。这些不会通过表单生成 - 我将手动编写 HTML。

现在,我验证这些隐藏输入字段没有被篡改的想法是这样的:我将在表单中添加两个整数字段,这两个字段根本不会被渲染,它们共享隐藏输入字段的名称。希望这意味着隐藏字段在运行时像所有其他字段一样得到验证:

form = my_form(request.POST)      # request.POST containing hidden-fields as well 
form.is_valid():

这是否是一种相对安全的方法来检查是否通过隐藏输入传递了整数?这会和正常的表单处理一样安全吗?还是我错过了什么?

标签: htmldjangoformshidden-field

解决方案


推荐阅读