Security Best Practices Expressによると、私はHelmet
を実装しました。ミドルウェア注文Express
私が(認証のためにcookie-session
、morgan
、body-parser
と様々な自己製ミドルウェア)、複数のミドルウェアを使用していますように、私は今、私はそれらを置くべき順に思ったんだけど。
のミドルウェアのベストプラクティスガイド、がありますか?
Security Best Practices Expressによると、私はHelmet
を実装しました。ミドルウェア注文Express
私が(認証のためにcookie-session
、morgan
、body-parser
と様々な自己製ミドルウェア)、複数のミドルウェアを使用していますように、私は今、私はそれらを置くべき順に思ったんだけど。
のミドルウェアのベストプラクティスガイド、がありますか?
あなたの場合は、最初のミドルウェアとしてヘルメットを使用します。
この最も重要な理由は、HSTS処理です。これは、ユーザーが通常のHTTPの代わりにサイトのHTTPSバージョンを使用するために強制されるビットを処理します。
最初にHTTPSサイトにヘルメットが記載されていないと、ユーザーがHTTP経由でトランザクションを開始し、悪意のある使用が可能なWebアプリケーションに機密情報を渡す可能性があるため、いくつかの面白い脆弱性が生じる可能性があります。ヘルメット(悪い)。
これは興味深い質問です。これは間違いなくHelmetのドキュメントに追加する必要があります。
私はGitHubのヘルメットレポで問題を起こすつもりです。 –
新しく作成した[Helmet GitHubの問題](https://github.com/helmetjs/helmet/issues/144)を参照してください。 –
素晴らしいです。非常に速い解像度。 +1すばらしいプロジェクト/素晴らしい管理者。 – rdegges
一般的なベストプラクティスはわかりません。ミドルウェアによって異なると思います。たとえば、Morganを最初に配置して、すべての要求を記録し、スキップしないようにすることができます。 –
@エヴァンハーンはい、でも「ヘルメット」は何ですか?潜在的な脆弱性に対するすべての要求をチェックしているので、 'morgan'より前であってはなりませんか? –
[Helmet GitHub issue](https://github.com/helmetjs/helmet/issues/144)でもっと話すことができます。 –