javascript - 保护 Node js 运行时或禁用调试/检查

标签 javascript node.js security

我有一个在nodejs 上运行的javascript 应用程序。它读取标准输入以获取用户名和密码来访问某些在线服务。

这些凭据在应用程序运行的整个过程中 (24/7) 保留在变量中,以防需要重新登录。

有权访问服务器的人是否可以像在浏览器中一样“调试”应用程序并获取这些变量?或任何其他方式。

我对 Node 的内部工作原理仍然知之甚少。

编辑: 该应用程序正在 Docker 容器上运行!

最佳答案

这取决于服务器。如果他们拥有 root 或管理员权限,他们可以通过多种方式获得访问权限,包括直接从 RAM 中读取它们。如果它们位于标准帐户上,只要它们不在与您的应用程序相同的帐户上运行,您可能会更安全。这始终是一种可能性,但您可以通过使用单独的帐户、限制操作系统用户对计算机的访问以及至少加密您的凭据来最大程度地降低风险。还要确保设置权限,以便他们无法写入或读取应用程序代码,如果他们不应该执行它,也可以阻止它。至于调试 Node,据我了解,您必须在 Debug模式下显式运行它。但肯定还有其他方法,因此最好限制访问,尤其是对服务器的物理访问,并使用加密。如果您可以以加密形式卸载这些凭据并清除保存它们的任何变量,那就更好了。

关于javascript - 保护 Node js 运行时或禁用调试/检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46994584/

相关文章:

api - 配置 Silex 防火墙使用 api key 的正确方法

javascript - 当不使用tagsTxt时,如何使用else语句获取用户在URL中的输入?

javascript - 如何仅使用 chrome 开发工具在多个站点中测试脚本?

javascript - 将 Jquery 数据发布到 Express

javascript - 检查TypeScript中的类中是否存在方法

node.js - 哪个 API 网关已准备好生产并提供良好的性能和功能?

django - 为什么 safari 在用户输入密码时说我的网站不安全 - Django

javascript - 将单击的按钮的值设置为 Javascript 变量 - 不使用 ID/名称

javascript - crockjs和apply函数需要一个函数作为值

javascript - Wallet Connect/Web3 Provider 仅通过 imoprting 显示很多错误