为什么我得到这个错误与Request.Url.PathAndQuery

本文关键字:Request Url PathAndQuery 错误 为什么 | 更新日期: 2023-09-27 18:05:38

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

(HTTP 400 Error - Bad Request)

我不知道为什么。谁能告诉我为什么我得到这个错误?如何解决这个问题?

c#代码:

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

为什么我得到这个错误与Request.Url.PathAndQuery

分解代码,查看每一步:

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

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

试试这个:

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

写了什么?试着把它放在浏览器中,你可能会得到一个400(或502)的错误。

Request.Url。PathAndQuery

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

查看更多的url引用

HtmlFormUrlEncode获取字符串并编码为参数。更多信息请看这里