Node.js 中间件订单快递

Node.js 中间件订单快递,node.js,express,helmet.js,Node.js,Express,Helmet.js,根据by Express,我实现了头盔 由于我正在使用多个中间件(cookiesession、morgan、body parser和各种自制的用于身份验证的中间件),我现在想知道应该按什么顺序放置它们。 是否有关于中间件及其安全性和订单的最佳实践指南?在您的情况下,我将使用头盔作为第一个中间件 最重要的原因是HSTS的处理。这将处理用户被迫使用您站点的HTTPS版本而不是普通HTTP版本的位 不首先在HTTPS站点上列出Hellm可能会导致一些有趣的漏洞,因为用户可能会通过HTTP启动事务,将可

根据by Express,我实现了
头盔

由于我正在使用多个中间件(
cookiesession
morgan
body parser
和各种自制的用于身份验证的中间件),我现在想知道应该按什么顺序放置它们。

是否有关于中间件及其安全性和订单的最佳实践指南?

在您的情况下,我将使用头盔作为第一个中间件

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

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


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

我不知道一般的最佳实践,我认为这取决于中间件。例如,您可能希望将Morgan放在第一位,这样它就可以记录所有请求,并且永远不会被跳过。@EvanHahn是的,但是头盔的作用是什么呢?由于它正在检查所有潜在漏洞的请求,难道它不应该在
morgan
之前吗?我们可以在上讨论更多。我将在GitHub上的头盔回购中提出一个问题。请参阅新创建的。超级棒。分辨率也非常快+1个很棒的项目/优秀的维护人员。