asp.net - 如何最容易地防止更改客户端上的控件状态?

标签 asp.net javascript checkbox

我想要实现的基本上是防止客户端更改我的服务器控件的状态。

例如,假设我有一个业务 Web 应用程序,它以只读方式向普通用户显示一些数据,但允许管理员编辑数据。在这种情况下,我使用常规的 ASP.NET 服务器控件,但对普通用户禁用它们 (enabled=false)。我遇到的问题是,任何高级用户都可以使用简短的 javascript 代码更改客户端上禁用的控件,并选中假定禁用和未选中的复选框。

从我的 Angular 来看,这是一个严重的安全问题,令我感到非常惊讶的是,我发现没有人对此提出问题。

也许我遗漏了什么,但请告诉我什么是防止此客户端更改的最简单方法。我认为当在呈现页面之前禁用该控件时,无论您如何在客户端上更改它,以下回发都不会触及该控件。我是不是错得很厉害?

最佳答案

我会在服务器端进行双重检查。

不能保证请求总是来自您的(未修改的)页面。任何人都可以制作一个 HTTP 请求来模仿您的回发所做的任何事情。

关于asp.net - 如何最容易地防止更改客户端上的控件状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3212866/

相关文章:

asp.net - 使用 Page.Render 覆盖进行后缓存替换

c# - 在部署到高流量站点时缓解 View 状态控制树更改的技术

javascript - 下载属性在 Chrome 上不起作用

excel - 由另一个复选框触发的自动选择复选框

javascript - jqgrid 服务器控件的每次回发都会调用 ashx 文件

asp.net - session 值在托管环境中过期太快。如何在 asp.nen 中解决此问题

javascript - 当存储容量不足时,IOS 会删除 WebSQL 数据库吗?

javascript - 允许在 jQuery 插件中链接

javascript - 单击模式对话框按钮后如何取消选中复选框?

css - IE9 复选框在焦点上呈现异常