2017-05-06 41 views
-1

例如,我有我的组件模板这部分代码:是否有可能破解Angular 2禁用的输入标签?

<input type="text" class="form-control" [(ngModel)]="profileUser.role" name="role" [disabled]="!isAdmin"> 

在我的组件模块,我有:

if (this.currentUser.role == "Admin") 
{ 
    this.isAdmin = true; 
} 

我想给权仅适用于那些编辑此输入字段具有“管理员”角色的用户,并为其他用户禁用此字段(但要向他们显示profileUser.role的当前值)。

它是安全的解决方案,或者有可能破解输入标签属性并获取对禁用字段的访问权限,并更改其值并使用“提交”按钮进行更新。

如果第二个陈述是正确的,请建议最安全的方式在ngForm上显示此类数据,并以ngModel双向绑定为边界。

+2

是的,当然用户可以在他们的电脑上做任何他们想做的事情。他们可以毫不费力地将脚本,模板和值更改为任何内容。不,根本不重要,因为无论你在服务器上检查用户角色,即使他们改变了输入字段,它也不会执行任何操作。 – JJJ

+0

谢谢,我明白了。 –

回答

0

您必须在双方保护您的数据:客户端和服务器。客户端代码必须控制数据输出(但它可以通过多种方式在客户端进行攻击)和数据输入 - 数据验证。

但是,在服务器端对访问并存储所有重要数据必须进行双重检查。

相关问题