根据Express的Security Best Practices,我实施了cookie-session
。
由于我正在使用多个中间件(morgan
,body-parser
,{{1}}以及各种自制的中间件进行身份验证),我现在想知道我应该将它放在哪个顺序它们。
是否有中间件最佳实践指南,它们的安全性和顺序?
答案 0 :(得分:2)
在你的情况下,我会使用头盔作为第一个中间件。
最重要的原因是HSTS处理。这将处理用户被强制使用您网站的HTTPS版本的位,而不是普通的HTTP版本。
首先在HTTPS站点上列出头盔可能会导致一些有趣的漏洞,因为用户可能会通过HTTP启动事务,将敏感信息传递到您的webapp,这些信息可以被恶意使用,然后让他们的请求通过Helmet重定向到HTTPS (不好)。
这是一个有趣的问题,这绝对应该添加到头盔文档中。