javascript - Node.js:Redis 安全说明

标签 javascript node.js security redis

我有两台服务器,

  • ServerA - 生产中的 nodejs 服务器,已经有一个身份验证模块,修改代码的自由度很小,我添加了一个模块,它为 serverB 提供 token key 。
  • ServerB - nodejs 服务器,未在生产环境中,更自由地更改代码,因为它不应该有独立的身份验证模块,依赖于来自 serverA 的 token key 来对用户进行身份验证。

我正在使用 crypto 模块生成 token ,并且在 serverA 和 serverB 中使用相同的密码种子。

这行得通,但 token key 未过期困扰着我。但是,服务器是独立的,因此服务器时间不会同步,因为一些疏忽,甚至可能相隔几天。

然后,我遇到了redis,现在正在阅读它,以前没有使用过它。

如果我在 serverB 上运行 redis 数据库,serverA 在其中设置过期 token ,serverB 会根据它检查每个传入的 token 请求。这是使用 redis 的正确方法吗?缺点是什么?最重要的是,这会导致任何安全漏洞吗?

最佳答案

根据我在 node 和 redis 方面的经验,我认为这对你的情况来说可能是一个很好的解决方案,但如果你有太多请求,我建议有 2 个 redis 服务器 - 非常容易设置 - 每个服务器一个服务器,其中serverA是master,serverB是slave,当serverA需要设置token时,它会用它本地的redis服务器设置它,同时serverB可以用它的ttl看到新的 key 并采取相应的行动,关于安全,我认为你有两个选择,要么在 redis 连接上设置密码,要么阻止对所用端口的访问 -6379 是默认端口 - 在防火墙级别或服务器级别,如果你不是真的想扩展你的结构我会建议阻止访问。

关于javascript - Node.js:Redis 安全说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30364114/

相关文章:

node.js - 重新安装 Node 后 : "Cannot find module ' internal/util/types' "

node.js - Node : Connecting remote database to node server

php - 如何防止 PHP 中的 SQL 注入(inject)?

java.security.NoSuchAlgorithmException : class configured for SSLContext

javascript - JQuery val() 仅在输入 2 个字符时才为 true

javascript - morris.js - 带有 json 文件的折线图

javascript - 如何在两个窗口之间同步滚动

javascript - Chrome 扩展程序图标未全部显示

node.js - Backbone、Node 和 Mongo 错误验证和通信

javascript - Node JS Buffer 数据是如何在幕后存储的?