将数据从 Node 和 Express 中的查询存储到 AngularJS 的安全方法是啥?
Posted
技术标签:
【中文标题】将数据从 Node 和 Express 中的查询存储到 AngularJS 的安全方法是啥?【英文标题】:What's a secure way to store data from a query in Node & Express to AngularJS?将数据从 Node 和 Express 中的查询存储到 AngularJS 的安全方法是什么? 【发布时间】:2018-10-29 22:59:51 【问题描述】:我正在使用 Express 和 Angular 制作应用程序,我想询问将 mongoose 查询的结果保存在哪里,以便 Angular 显示它们。
这是我的应用程序的想法
1) 用户登录,获得身份验证
2) 一旦通过身份验证,服务器通过 mongoose 获取用户的详细信息
3) 服务器将其发送到 Angular 以通过将详细信息存储在 cookie 中来显示它。
4) Angular 访问 cookie,获取其中的数据并将其显示在模板中。
我的问题是,这是正确的做法吗?我能想到的另一种方法是将其作为 json 发送给 Angular 以获取它 ($http.get([url with json data]).then(displayData))
总之
1) 将数据保存在 cookie 中是否可行或安全? 2) 还有其他方法吗?
很抱歉,如果它变得非常笨拙。我见过有关从 Angular 向 Node 发送数据的问题,但没有看到有关从 Node 向 Angular 发送数据的问题。
注意:使用 Angular 1.x
【问题讨论】:
只需 res.send(json) 以角度获取数据并更新您的变量 我明白了。如果我想提高一点安全性,我怎么能增加额外的安全性呢?将其作为 json 发送是否安全?顺便说一句,感谢您的快速响应。 如果您不使用会话,请为每个请求使用 JWT 令牌 用户身份验证和会话安全是一个过于宽泛的话题。请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。避免一次问多个不同的问题 【参考方案1】:要进行您列出的操作,您可以广泛地使用两种方法,一种是 mongoose 会话 与 express 会话,另一种是使用 JSON Web令牌(JWT)。两者都是与服务器进行存储和通信的安全方式。唯一不同的是,在使用会话时,我们将数据存储在服务器中,而客户端只是获取一个会话 ID,服务器可以通过它唯一地识别用户会话。但是在使用JSON Web 令牌我们将有一个加密令牌,可以在服务器中解密,然后访问所需的信息
-
所以第一个问题的答案。将数据存储在 cookie 中是否安全? 是的!
还有其他方法吗? YES 您可以使用 JSON Web 令牌与服务器进行通信。虽然这需要一些不同的方法。
无论哪种方式都是与服务器通信的安全方式。这完全取决于您要如何设置服务器。祝你好运:)
【讨论】:
以上是关于将数据从 Node 和 Express 中的查询存储到 AngularJS 的安全方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用node js,reactjs,express从实际网页中的mongodb中获取数据
node.js 与 express 如何从 url 中删除查询字符串
使用 Node.js 和 Express 将 JSON 数据集显示为表格
如何通过使用 node.js 和 express 的 onclick 将数据从一个页面传递到另一个页面?