将数据从 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 将数据从一个页面传递到另一个页面?

如何使用 node.js、Express 和 knox 将文件从浏览器上传到 Amazon S3? [关闭]

如何从 Node.js / Express 应用程序的 Mongoose 预挂钩中查询?