我一直在我的代码中使用隐藏的表单字段很多次。根据要求,我将一些值存储在此/这些隐藏字段中,因此我可以轻松地从 JavaScript 代码访问它们并避免 PostBack。但是,我想知道一些事情
- 在填充隐藏字段方面是否有我不应该跨越的限制?
- 隐藏字段的使用是否会导致某种安全威胁?
我确实找到了关于隐藏表单字段的讨论,但它并没有满足我的所有查询。
我真的很感激任何链接或解释?
提前致谢
我一直在我的代码中使用隐藏的表单字段很多次。根据要求,我将一些值存储在此/这些隐藏字段中,因此我可以轻松地从 JavaScript 代码访问它们并避免 PostBack。但是,我想知道一些事情
我确实找到了关于隐藏表单字段的讨论,但它并没有满足我的所有查询。
我真的很感激任何链接或解释?
提前致谢
这就是我要说的:
只要您使用 POST 作为方法,隐藏的表单字段通常没有长度限制。我从未将表单与 GET 表单请求一起使用(例如,使用 RESTful 服务),显然最好将总 GET 请求保持在 2KB 或更少,但这个限制实际上归结为URL 的最大长度,并且因浏览器而异到浏览器(这意味着将非常大的数据分块到多个 2k 隐藏字段中不适用于 GET 提交)。
如果您使用隐藏的表单字段来存储有关用户应用程序状态的信息(而不是使用 .NET 来为您管理),那么您需要知道用户可以(并且可能会)以您没有的方式修改这些字段'期待。如果用户不应更改字段,则应在另一个隐藏变量中包含数据的哈希或校验和,以便您可以轻松检测意外更改(并至少清除用户的状态)。借助 Chrome、IE、Safari 和 Firefox 中的现代网络检查器面板,以开发人员可能未预料到的方式修改页面非常容易。只需将客户端返回的所有数据(包括所有查询字符串、表单字段、cookie 和请求标头)视为已污染(即“危险”)并采取相应措施。