在ASP.NET中,如何防止隐藏字段值的篡改

nim*_*ima 4 asp.net user-controls hidden-field

我有一个用户控件有几个下拉菜单.每当根据新选择的值更改其中一个时,我会使用ajax重新填充下拉列表.

其中一个下拉列表的值是我想要绑定到数据字段的用户控件的最终值.

问题是ASP.NET无法识别下拉列表的值,因为它们是在客户端生成的.所以我使用了一个隐藏字段,每当在下拉列表中选择一个值时,我会将该值放在隐藏字段中,并将隐藏字段的值作为用户控件值返回,一切正常

我担心用户可能会将该隐藏字段的值篡改为非法值.有没有更好的方法呢?

Jer*_*eir 9

如果您绑定到选择,则用户也可以篡改这些值.只需像使用任何其他输入一样验证隐藏字段.并且不要担心漂亮的反馈,只要在值超出范围时抛出异常.如果有人试图摆弄你的表格,谁会在乎他是否会出现丑陋的错误.

我想更简洁地回答你的问题:你无法防止篡改客户端,你所能做的就是验证 - 服务器端

  • 服务器端,这是你唯一控制的地方 (5认同)