gpt4 book ai didi

javascript - 如何确保客户端 Angular 应用程序的真正安全性

转载 作者:行者123 更新时间:2023-11-28 01:07:43 25 4
gpt4 key购买 nike

让我们考虑以下场景:

我们有一个 Angular JS 前端,它使用内部 API 来获取和操作数据。

我们在 /api/internal 下公开此 API。但是,我们不希望它可以公开访问,我们希望它只能由我们的前端访问。为了确保这一点,我们仅允许通过在请求 header 中传递 token 来访问 API:Authorization: Token token=xxx

问题在于我们如何为所有请求设置此 token 。我们可以采取这样的方法:

angular.module('myApp').run(function($http) {
$http.defaults.headers.common.Authorization = 'Token token="xxx"'
})

问题当然是这将在客户端中,这意味着任何检查 javascript 和 grep 中的 TokenAuthorization 字符串的人都能够找到 token 并使用它来访问数据。

当然还有其他安全措施,但仅关注这个问题,我感兴趣的是如何以不同的方式更安全地处理它。

最佳答案

您可以尝试如下操作:

  1. 您可以创建一个sessions表。
  2. session 启动后(例如用户登录),将原始 token 值保存在sessions中,并将其与某个加密值相关联。
  3. 将此加密值作为 token 返回给客户端。
  4. 每次都会将此加密值发送到服务器。并从 sessions 表中访问与该加密值关联的原始 token 并进行处理。
  5. session 结束(例如用户注销)后,从 sessions 表中删除该条目。

还有 API Token Safety in Angular application 中列出的技术和 Authentication with AngularJS, session management and security issues with REST Api WSHow to secure my AngularJS and Web Api application可能有用

关于javascript - 如何确保客户端 Angular 应用程序的真正安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24883599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com