javascript - Node.JS Web 服务器中的安全性

标签 javascript security http node.js webserver

所以,我正在学习如何使用 Node.JS,到目前为止我很喜欢它。我已经有几个项目在工作,我认为我可以在其中使用 nodejs。

不过,我担心安全问题。如果我使用 Node.JS 的 http 模块编写自定义网络服务器,我是否很容易受到攻击? Apache/IIS 已经(以及年复一年)的专业团队在他们的网络服务器中构建安全性,但仍然有人继续寻找漏洞.. 可能是我自制的网络服务器会更容易受到攻击?

我可以专注于哪些事情来为我的网络服务器构建一个良好的安全层?有没有涵盖该主题的好文章?

最佳答案

我同意 anm 和 schaermu 关于使用反向代理的观点,这样您的访问者就不会直接访问您的应用程序,即使这确实与稳定性而不是安全性有关。

我想补充一点,您还必须考虑安全地安装 Node 本身及其模块。特别是,永远不要使用这种方法安装 npm:

curl http://npmjs.org/install.sh | sudo sh

这基本上是为您使用不安全的 HTTP 从网络获取的任何内容提供 root shell,根本不进行验证,甚至不知道您在与谁交谈。这可能会导致使用非常基本且广为人知的方法严重损害您的整个系统,如果您的系统受到损害,那么您的应用程序是否位于反向代理、防火墙或任何东西后面都没有关系。见 this answer以获得更全面的解释。

关于javascript - Node.JS Web 服务器中的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5259291/

相关文章:

security - 一个 UDP 数据包是否保证是完整的、实用的(如果已交付)?

Php session 安全登录

.net - 不使用 Obfuscator 的 DLL 加密

PHP 验证 - 将 http POST 值传递给第三方结帐

angular - http在Angular中调用api失败

Javascript 初学者 : setTimeout hide/show issue?

javascript - 根据屏幕尺寸改变图像尺寸Javascript

javascript - jquery 1.9.1 无法解析包含转义反斜杠的 JSON

javascript - 如何在不被固定菜单覆盖的情况下使容器在减小窗口大小的情况下正确调整大小?

html - 请求错误 (invalid_request) - Android 浏览器