asp.net mvc でレスポンスヘッダに値を追加、削除する方法
kawa.xxx
環境
- asp.net mvc 5.2
- mono
- .net Framework 4.5
レスポンスヘッダって?
下記の図はGoogleChrome の開発者ツールの network で見たものです。この内の Response Headers
の欄がクライアントからのリクエストに対してサーバ側が返却しているレスポンスヘッダで、各種の状態を表すモノが入っています。

この中の X-AspNet-Version
とかは使っているフレームワークのバージョンがまんま表示されています。これではセキュリティ的に良くないです。なのでこれを消したい!加えてWebアプリの動作の都合で何らかのヘッダを追加してレスポンスを返したいという場合があったので、一番簡単にできる手順を調べました。
レスポンスヘッダに値を追加する方法
Global.asax.cs に以下のメソッドを追加する
protected void Application_PreSendRequestHeaders() { Response.Headers.Add("key", "value"); }
レスポンスヘッダから値を削除する方法
protected void Application_PreSendRequestHeaders() { Response.Headers.Remove("key"); }
他にも Web.Config に書く方法などありますが、とりあえず今回はこれで。
参考文献
- http://blogs.4ward.it/penetration-testing-removing-excessive-http-response-headers-in-azureiis8/
- http://blog.shibayan.jp/entry/20130518/1368861454
ABOUT ME