我想要实现的基本上是防止客户端更改我的服务器控件的状态。
例如,假设我有一个业务 Web 应用程序,它以只读方式向普通用户显示一些数据,但允许管理员编辑数据。在这种情况下,我使用常规的 ASP.NET 服务器控件,但对普通用户禁用它们 (enabled=false)。我遇到的问题是,任何高级用户都可以使用简短的 javascript 代码更改客户端上禁用的控件,并选中假定禁用和未选中的复选框。
从我的 Angular 来看,这是一个严重的安全问题,令我感到非常惊讶的是,我发现没有人对此提出问题。
也许我遗漏了什么,但请告诉我什么是防止此客户端更改的最简单方法。我认为当在呈现页面之前禁用该控件时,无论您如何在客户端上更改它,以下回发都不会触及该控件。我是不是错得很厉害?
最佳答案
我会在服务器端进行双重检查。
不能保证请求总是来自您的(未修改的)页面。任何人都可以制作一个 HTTP 请求来模仿您的回发所做的任何事情。
关于asp.net - 如何最容易地防止更改客户端上的控件状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3212866/