LoginSignup
14
15

More than 5 years have passed since last update.

【ASP.NET】HTTPレスポンスヘッダーからASP.NET/IISの情報を削除する

Posted at

HTTPレスポンスヘッダーに出力される情報

ASP.NETアプリケーションを普通に開発や運用していて、ブラウザの開発者ツールでネットワーク周りを見ていると、
HTTPレスポンスヘッダーに以下のような情報が出力されていることが確認できます。

image

ServerやX-AspNet-Version、X-AspNetMvc-Version、X-Powerd-Byといった要素に、ASP.NETやIISを使っていること、またはそのバージョンが出力されています。

別に問題ないといえば問題ないんですが、何となく何のサーバー使ってて何のWebフレームワークで開発しているのかをオープンにしたくない場合、
これらの情報をサーバーサイドで削除することができます。

削除方法

Server

Global.asaxに以下の処理を追記します。
リクエストのパイプライン上であれば、どのイベントでも大丈夫なようです。

Response.Headers.Remove("Server");

X-AspNet-Version

Web.configでsystem.Webセクション内のhttpRuntime要素でenableVersionHeaderプロパティをfalseに設定します。

<system.web><httpRuntime  enableVersionHeader="false" /></system.web>

X-AspNet-Mvc-Version

Global.asaxに以下の処理を追記すると削除されます。
これもリクエストのパイプライン上であれば、どのイベントでも大丈夫なようです。

MvcHandler.DisableMvcResponseHeader = true;

X-Powered-By

Web.config内でsystem.webServerセクション内のhttpProtocol要素にあるcustomHeaders要素からX-Powered-Byを削除します。
removeでなくclearでも大丈夫ですが、余計なものまで消されて何かが動かなくなる可能性はあります。

<system.webServer><httpProtocol>
        <customHeaders>
            <remove name="X-Powered-By" />
        </customHeaders>
    </httpProtocol></system.webServer>

結果

上記の設定を全て行った後に、もう一度開発者ツールを使用すると以下のようになります。

image

Microsoftプラットフォームのアプリだとバレずに済みますね!

14
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
15