0

尽我所能用代码修复它,但 Veracode 仍然给出以下代码错误:

Byte[] bytes = (Byte[])dt.Rows[i]["Content"];
Response.Buffer = true;
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = StringEncode(HttpUtility.HtmlEncode(dt.Rows[i]["Extension"].ToString()));
Response.AddHeader("content-disposition", "attachment;filename=" + StringEncode(HttpUtility.HtmlEncode(dt.Rows[0]["FileName"].ToString())));
Response.BinaryWrite(bytes);
Response.Flush(); 
Response.End();

它指向与Response.BinaryWrite(bytes);

应该做什么?有什么建议么?

4

1 回答 1

2

我认为当您的用户使用现代浏览器时,您可以放心地将其标记为误报。

设置内容处置以将响应下载为附件应防止在浏览器中执行任何脚本。Veracode 似乎没有意识到您正在这样做。

请注意,像 IE 6/7 这样的旧浏览器将忽略 content-disposition 标头,如果它们已经缓存了响应。您可能会检测到使用这些浏览器的情况并阻止内容在这些浏览器中加载。

于 2015-08-30T13:55:00.790 回答