如何禁用双向绑定(安全问题)

时间:2015-08-21 18:44:28

标签: angularjs asp.net-mvc asp.net-web-api angularjs-ng-disabled

我遇到的问题是,当最终用户在浏览器中编辑HTML并更改页面行为时会发生这种情况。假设我有一个input disabled="true",另一个属性使双向绑定发生ng-model="MyModel"

我们的页面旨在支持在同一页面中插入和编辑(它构建在ASP.NET MVC框架之上),因此我们使用它提供的路由(我无法更改它)。 因此,对用户角色或任何其他条件进行依赖,某些字段可能具有禁用的属性等于true或false,并且这里出现问题。

如果用户编辑HTML并更改以前禁用的字段,他现在可以编辑和更改我不应该更改的模型。 有时,这些字段无法在后端处理(验证),因为后端知道它可能被有权执行此操作的用户更改。

注意:具有编辑这些字段的角色的用户只是一个示例,当有可能或无法编辑字段时,有时无法使用后端中的验证来识别,在这种情况下,我们应用一些视图逻辑来确定何时将字段设置为已禁用或已启用。

我想知道,这种情况有什么好办法吗?有没有人遇到同样的问题?你是怎么解决这个问题的?

0 个答案:

没有答案