是否可以篡改 Angular 应用程序中的客户端代码?

Is it possible to tamper client-side code in Angular app?

我在JavaScript编程或Angular应用程序开发方面经验不多,但我的一般理解是,当JavaScript到达客户端时,它可以被篡改。

我在 Angular 应用程序中遇到了一些基于角色授权的示例实现,其中用户角色在成功登录时被发送到客户端(即使他们使用的是 JWT,这应该是"self-contained")。然后将用户角色值保存在客户端(本地存储或变量),并在 canActivate route-guard.

中使用

(我知道 canActivate 中使用的值只会决定是否激活路由并呈现有问题的组件,真正的角色验证发生在服务器端,当组件代码试图获取数据。)

我的问题是,这些客户端存储的值是否可以被篡改,或者 Angular 是否有能力提供任何代码安全?

提前致谢。

是的。

浏览器中的所有代码 运行 以及所有数据都受用户操纵。

您甚至不知道 运行 代码是浏览器,它可能是专门设计用于破坏您的应用程序的其他工具。