1

我目前正在一个项目中处理 Angular 4。我熟悉角度身份验证守卫。我的问题是,由于 angular 4 是客户端框架,我们不能通过检查浏览器窗口来破解 auth-guard 以访问页面,因为 typescript 被转译为 javascript 或者是 auth-guard 服务器有任何机会。

4

3 回答 3

1

“永远不要相信客户” - 有人纠正我,但 Angular 只是客户方面的。Guards 可以帮助您实现安全性,主要是在 API 的情况下使用 JSON Web Token。

您应该始终在服务器端具有安全性。本案也不例外。

如果您不检查服务器端,任何人都可以执行 http 请求并获得 200(成功)。

于 2017-12-11T18:04:25.123 回答
0

Guard 是一种组织 UI 逻辑的便捷方式:显示/隐藏某些部分(除其他外,可能基于从服务器获取的用户权限)。此外,他们可以预加载某些组件工作所需的数据。

在安全方面,当然可以很容易地超越警卫。出于这个原因,正如有人已经提到的那样,“永远不要信任客户端”,您的服务器应该根据 cookie、令牌或您使用的任何身份验证/授权机制来实施实际的访问策略和权限检查。

于 2017-12-11T18:23:23.703 回答
0

客户端。

这取决于。该框架(角度)具有加密器、代码压缩器和其他验证器,这对黑客来说有点困难,但它仍然不是完全安全的。

有些人将验证变量放在 localStorage 中,这太可怕了。其他的,将全局变量放在某个服务文件中。这也是非常不安全的。

最好的方法是创建一个服务以在后端进行验证。

于 2017-12-11T18:36:06.577 回答