さまざまな脆弱性シナリオをテストするためにいくつかの Web ページの作成に取り組んでいますが、ASP.Net (IIS) は私を自分自身から保護するのに非常にうまく機能しています。
私がやろうとしていることの 1 つは、charset 宣言の有無にかかわらず、さまざまな Content-Type ヘッダーを含む応答を返すことです。問題は、文字セットを省略した場合、ASP.Net がデフォルトで utf-8 を追加するように見えることです。
私の ASPX.cs コード ビハインドでは、Response.AddHeader("Content-Type", "text/html")
またはがある場合Page.ContentType = "test/html"
、ページから次のヘッダーが返されることが期待されます。
Content-Type: text/html
代わりに私は得る:
Content-Type: text/html; charset=utf-8
使用するResponse.AddHeader("Content-Type", "text/html; charset=iso-8859-1")
と、期待されるヘッダーが得られます。
Content-Type: text/html; charset=iso-8859-1
不要なときに ASP.Net (IIS?)charset=utf-8
がヘッダーに追加されないようにする方法はありますか?
ASP.Net 4.0 と IIS 7.5 を使用しています。