ASP.NETから不要なHTTPヘッダーを削除する

最近のGoogleの取り組みに関連して、Webページのサイズとその読み込み速度が再び重要になりました。 コンテンツの読み込み速度は、検索結果のランク付けの基準の1つになります。 GZipおよびDeflate圧縮、およびサーバーキャッシュについても多くのことが書かれています。 見出しについて話します。



したがって、ASP.NETアプリケーションは、とりわけ、次のヘッダーをクライアントに送信します(値は異なる場合があります)。



これらのヘッダーを削除することで、リクエストごとにトラフィックを約100バイトだけ「促進」しますが、 まず 、これらの100バイトにサーバーへの何万ものリクエストを掛けたものが具体的な役割を果たすことに注意してください。 第二に、ヘッダーがないため、サーバーバージョン、ASP.NETバージョン、およびプラットフォーム全般に関する情報を奪われる攻撃者の生活が複雑になります。



ここまでがポイントです。





X-AspNet-Versionヘッダーを削除します。



ここではすべてが簡単です。 web.configに次の行を追加するだけです:



< httpRuntime enableVersionHeader ="false" />







ヘッダーX-AspNetMvc-Versionを削除します



ASP.NET MVCフレームワークを使用している場合、Global.asaxファイルのApplication_Startハンドラーに次のコードを追加します。



MvcHandler.DisableMvcResponseHeader = true ;







X-Powered-Byヘッダーを削除する



IIS管理スナップインを起動し、Webサイトのプロパティの[サービス]タブに移動します。



画像



IIS7を使用している場合-すべてが次のようになります。



画像



サーバーヘッダーを削除する



ここではすべてがより複雑です。 このヘッダーはIIS自体によって追加されるため、Application_PreSendRequestHeadersハンドラーで、Global.asaxの小さなハックを使用して、手でクリーンアップする必要があります。



//

HttpContext .Current.Response.Headers.Remove( "Server" );






残念ながら、これは統合パイプラインモード設定がオンになっている場合にのみ機能します。「IIS7のみ」をお読みください。 IIS6の場合、Microsoftの無料ユーティリティ-UrlScanの助けを借りる必要があります。



All Articles