2

根据Express的安全最佳实践Helmet,我实现了.

由于我正在使用多个中间件(cookie-sessionmorganbody-parser各种自制中间件进行身份验证),我现在想知道应该按什么顺序放置它们。
是否有中间件、它们的安全性和顺序的最佳实践指南?

4

1 回答 1

2

在你的情况下,我会使用头盔作为第一个中间件。

最重要的原因是 HSTS 处理。这将处理用户被迫使用您网站的 HTTPS 版本,而不是普通的 HTTP 版本。

不在 HTTPS 站点上首先列出 Helmet 可能会导致一些有趣的漏洞,因为用户可能会通过 HTTP 启动事务,将敏感信息传递给您的 Web 应用程序,这些信息可能会被恶意使用,然后他们的请求稍后会通过 Helmet 重定向到 HTTPS(不好)。

这是一个有趣的问题,绝对应该添加到 Helmet 文档中。

于 2017-01-05T19:20:35.560 回答