使用 Helmet 保障你的 Express 应用程序安全

阅读时长 3 分钟读完

在 Web 开发中,确保应用程序安全是至关重要的。Helmet 是一个 Node.js 包,可帮助在 Express 应用程序中轻松实现一些常见的安全性设置。

安装和配置 Helmet

首先,使用 npm 在项目中安装 Helmet:

然后在 Express 应用程序中启用它。这可以通过简单地将它作为中间件加载来完成:

一旦启用了 Helmet,它会自动执行各种安全设置,如添加适当的 HTTP 标头等。

Helmet 中的默认设置

下面是 Helmet 默认情况下启用的几个安全设置:

hidePoweredBy

hidePoweredBy 中间件删除响应头中的 X-Powered-By,这样攻击者就无法识别出你的应用所使用的技术栈。

frameguard

frameguard 中间件可防止点击劫持攻击。它会向响应头添加 X-Frame-Options,并始终将其设置为 DENY。

xssFilter

xssFilter 中间件可在用户输入数据中检测和删除跨站点脚本攻击 (XSS)。它会将 X-XSS-Protection 头设置为 1; mode=block。

noSniff

noSniff 中间件可防止浏览器执行 MIME 类型嗅探攻击。它会将 X-Content-Type-Options 头设置为 nosniff。

还有其他一些默认设置(如 dnsPrefetchControlreferrerPolicy 等)可以在 Helmet 文档中查看。

自定义 Helmet 设置

除了默认设置外,Helmet 还允许开发人员自定义设置。例如,以下代码将启用 CSP (内容安全策略):

此代码为所有脚本来源和样式来源添加白名单。只有来自应用程序自身和 stackpath.bootstrapcdn.com 的脚本和样式才能加载。

结论

使用 Helmet 可以轻松地增强 Express 应用程序的安全性。在你的下一个项目中,给它一个尝试吧!

完整示例代码:

-- -------------------- ---- -------
----- ------- - -------------------
----- ------ - ------------------

----- --- - ----------

------------------

------------ ----- ---- -- -
  --------------- ---------
---

---------------- -- -- -
  ---------------- --------- -- ---- --------
---

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/53419

纠错
反馈