运行 VeraCode 后,在以下代码片段中报错“Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting')”:
protected override void InitializeCulture() {
//If true then setup the ability to have a different culture loaded
if (AppSettings.SelectLanguageVisibility) {
//Create cookie variable and check to see if that cookie exists and set it if it does.
HttpCookie languageCookie = new HttpCookie("LanguageCookie");
if (Request.Cookies["LanguageCookie"] != null)
languageCookie = Request.Cookies["LanguageCookie"];
//Check to see if the user is changing the language using a query string.
if (Server.UrlDecode(Request.QueryString["l"]) != null)
languageCookie.Value = Server.UrlDecode(Request.QueryString["l"]);
//Check to make sure the cookie isn't null and set the culture variable to auto if it is and the value of the cookie if it isn't.
if (languageCookie.Value == null)
languageCookie.Value = string.Empty;
string culture = languageCookie.Value.ToString();
if (string.IsNullOrEmpty(culture))
culture = "Auto";
//Use to set the Culture and UI Culture.
this.UICulture = culture;
this.Culture = culture;
if (culture != "Auto") {
//If culture is changed set the new Current Culture and CurrentUICulture.
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo(culture);
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
System.Threading.Thread.CurrentThread.CurrentUICulture = ci;
}
//Update the cookie value with the new culture and initialize the culture.
Response.Cookies.Set(languageCookie);
Response.Cookies["LanguageCookie"].Expires = DateTime.Now.ToLocalTime().AddYears(1);
Response.Cookies["LanguageCookie"].HttpOnly = true;
}
else {
//Else keep language as English if localization is not enabled.
this.UICulture = "en";
this.Culture = "en";
}
base.InitializeCulture();
}
报告指向包含以下代码的行:Response.Cookies.Set(languageCookie); 可以使用什么修复程序来消除该错误?
谢谢