2013年12月18日 星期三

Asp.net 系統收到多個不同的 Content-Disposition 標頭。我們不允許這種情形,這是為了避免遭到 HTTP 回應分割攻擊。

今天使用者遇到了這個問題
系統收到多個不同的 Content-Disposition 標頭。我們不允許這種情形,這是為了避免遭到 HTTP 回應分割攻擊。
看了一下程式
 Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", mFileName));
 Response.AddHeader("Content-Disposition", string.Format("attachment; filename=\"{0}\"", mFileName));
多加了分雙引號這樣輸出的標頭才會指定檔名是什麼減少攻擊