这是我的网址 -
http://localhost:4566/PropertyMap/project/ackruti-gardenia-dahisar-&-beyond-mumbai
我得错了 -
描述:在执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息: System.Web.HttpException:从客户端(&)检测到一个潜在危险的Request.Path值。
堆栈追踪:
[HttpException (0x80004005): A potentially dangerous Request.Path value was detected from the client (&).] System.Web.HttpRequest.ValidateInputIfRequiredByConfig() +9673044 System.Web.ValidateRequestExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +35 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
我该如何解决?
答案 0 :(得分:6)
&符号(&
)在URL中具有特殊含义,用于分隔查询字符串和片段部分中的元素。默认情况下禁止此用法,因为黑客通常会像这样探测,试图发现漏洞。
为了避免这种情况,您需要在路径上使用URL编码,因此&符号被编码为%26
,从而形成最终的URL:
http://localhost:4566/PropertyMap/project/ackruti-gardenia-dahisar-%26-beyond-mumbai
由于您没有指定URL的构造位置,因此我无法帮助您正确编码 - 每种语言的实现都不同。
答案 1 :(得分:5)
使用HttpUtility.UrlEncode()
方法