2017-01-05 23 views
1

根據Express的Security Best Practices,我實施了Helmet中間件訂單快遞

由於我使用多箇中間件(cookie-sessionmorganbody-parser和驗證各種自制的中間件),我現在不知道以何種順序我應該把他們。
是否有中間件的最佳實踐指南,它們的安全性和順序?

+1

我不知道一般的最佳做法 - 我認爲這取決於中間件。例如,您可能希望首先將Morgan寫入,以便記錄所有請求並永遠不會被跳過。 –

+0

@EvanHahn是的,但「頭盔」是什麼?因爲它正在檢查所有潛在漏洞的請求,所以不應該在「摩根」之前? –

+1

我們可以在[Helmet GitHub問題](https://github.com/helmetjs/helmet/issues/144)上詳細討論。 –

回答

2

就你而言,我會使用頭盔作爲第一個中間件。

最重要的原因是HSTS處理。這將處理用戶被強制使用您網站的HTTPS版本的位,而不是普通的HTTP位。

未列出首先在HTTPS站點上使用頭盔可能會導致一些有趣的漏洞,因爲用戶可能通過HTTP啓動事務,將敏感信息傳遞到可以惡意使用的Web應用程序,然後通過通過HTTPS重定向到HTTPS頭盔(不好)。

這是一個有趣的問題,這肯定應該添加到頭盔文檔。

+1

我要在GitHub上的Helmets回購中發佈一個問題。 –

+2

查看新創建的[Helmet GitHub問題](https://github.com/helmetjs/helmet/issues/144)。 –

+1

超級棒。真正快速的解決方案也是如此。 +1真棒項目/偉大的維護者。 – rdegges