Vic*_*cky 15 c# asp.net-web-api
我们有一个带有以下资源URL的web api.
http://www.example.com/book/bookid/name/bookname
Run Code Online (Sandbox Code Playgroud)
现在有一些书籍包含带有&符号'&'的名字,当我们要求这些名称时,我们收到以下错误
使用的网址:
http://www.example.com/book/123/name/ban&ban
Run Code Online (Sandbox Code Playgroud)
错误:从客户端检测到潜在危险的Request.Path值(&)
我们尝试传递或使用编码值为&即%26并获得相同的错误.
使用的网址:
http://www.example.com/book/123/name/ban%26ban
Run Code Online (Sandbox Code Playgroud)
错误:从客户端检测到潜在危险的Request.Path值(&)
现在,当我在httpruntime元素的web.config中添加了requestPathInvalidCharacters =""属性时,它开始适用于上述两个URL.但是,当我阅读不同的文章时,据说使用requestPathInvalidCharacters =""属性不是一个好习惯.
另外,由于生产中有很多书名和"&"以及不同的特殊字符,我们不能避免为书名发送"&"&符号,有没有一个好方法来处理这个?
byc*_*kov 12
您应该选择在查询字符串中使用参数而不是路径.例如:http: //www.example.com/book/bookid?name = Fizz&bookname = Buzz
以下是为什么会出现此异常的一些解释:http: //www.hanselman.com/blog/ExperimentsInWackinessAllowingPercentsAnglebracketsAndOtherNaughtyThingsInTheASPNETIISRequestURL.aspx
| 归档时间: |
|
| 查看次数: |
303 次 |
| 最近记录: |