c# - 发布表单时如何保护隐藏的 ID
问题描述
我有一个表单当用户提交数据时,我想保护他无法更改 id“值”的隐藏字段。
解决方案
没有办法阻止用户破解客户端信息。
如果你有一些由服务器端代码生成的东西,那么你可以将该信息保存在服务器端状态(例如使用 asp.net 会话状态)或加密服务器端,这样客户端就不能篡改它,只能将它发回(不要忘记验证并查看重放是否有问题)。
请注意,再多的客户端加密都无济于事,因为用户可以简单地运行相同的代码来生成值,就像您的客户端代码那样。
推荐阅读
- java - 创建聚合管道时,AccumulatorOperators Max 出现问题
- linux - 在 ODI 中从另一台机器导入场景 xml
- android - 菜单未在右侧对齐
- ruby-on-rails - 授权用户在不使用 Pundit 的情况下为每个控制器执行各种 CRUD 操作;Ruby on Rails
- post - 带有字符串格式的 protobuf post rpc 方法
- ios - 无法将 UILabel 连接到 ViewController
- ios - 渐变半圆
- jooq - 是否有一个 jOOQ 工具来验证生成的定义是否仍然正确?
- c# - 如何从事件驱动架构中错过的集成或通知事件中恢复?
- google-apps-script - Google Sheets onEdit 计算