0

由于我的导师要求我在我的高级项目开发中使用 AntiXss 库,由于网络上缺乏资源,我在使用这个库时遇到了很多困难。我项目的一部分我有一个上传文件功能,用户可以上传文件,上传文件后,他将被重定向到同一页面以查看其他信息。一切正常,但是当我添加 AntiXss 库并仅将其与以下行一起使用时,出现此错误

(HTTP 400 错误 - 错误请求)

我不知道为什么。谁能告诉我为什么我会收到这个错误?以及如何解决?

C#代码:

Response.Redirect(Encoder.HtmlFormUrlEncode(Request.Url.PathAndQuery));
4

2 回答 2

0

分解您的代码并查看每个步骤:

  • 获取传入请求的 URL,并提取路径和查询。
  • 通过基于表单的编码器运行它
  • 重定向到该字符串

你认为基于表单的编码器会做什么来防止 XSS 攻击?

尝试这个:

Response.Write(Encoder.HtmlFormUrlEncode("http://www.stackoverflow.com"));

写出什么?尝试将其放在网络浏览器中,您可能会收到 400(或 502)错误。

于 2013-03-23T04:16:11.377 回答
0

Request.Url.PathAndQuery

The above syntax returns `/Cambia3/Temp/Test.aspx?query=arg`

有关更多网址参考,请检查

HtmlFormUrlEncode 获取字符串并编码为参数。有关详细信息,请参见此处

于 2013-03-23T05:49:08.860 回答