是否可以篡改 Angular 应用程序中的客户端代码?
Is it possible to tamper client-side code in Angular app?
我在JavaScript编程或Angular应用程序开发方面经验不多,但我的一般理解是,当JavaScript到达客户端时,它可以被篡改。
我在 Angular 应用程序中遇到了一些基于角色授权的示例实现,其中用户角色在成功登录时被发送到客户端(即使他们使用的是 JWT,这应该是"self-contained")。然后将用户角色值保存在客户端(本地存储或变量),并在 canActivate
route-guard.
中使用
(我知道 canActivate
中使用的值只会决定是否激活路由并呈现有问题的组件,真正的角色验证发生在服务器端,当组件代码试图获取数据。)
我的问题是,这些客户端存储的值是否可以被篡改,或者 Angular 是否有能力提供任何代码安全?
提前致谢。
是的。
浏览器中的所有代码 运行 以及所有数据都受用户操纵。
您甚至不知道 运行 代码是浏览器,它可能是专门设计用于破坏您的应用程序的其他工具。
我在JavaScript编程或Angular应用程序开发方面经验不多,但我的一般理解是,当JavaScript到达客户端时,它可以被篡改。
我在 Angular 应用程序中遇到了一些基于角色授权的示例实现,其中用户角色在成功登录时被发送到客户端(即使他们使用的是 JWT,这应该是"self-contained")。然后将用户角色值保存在客户端(本地存储或变量),并在 canActivate
route-guard.
(我知道 canActivate
中使用的值只会决定是否激活路由并呈现有问题的组件,真正的角色验证发生在服务器端,当组件代码试图获取数据。)
我的问题是,这些客户端存储的值是否可以被篡改,或者 Angular 是否有能力提供任何代码安全?
提前致谢。
是的。
浏览器中的所有代码 运行 以及所有数据都受用户操纵。
您甚至不知道 运行 代码是浏览器,它可能是专门设计用于破坏您的应用程序的其他工具。