相关疑难解决方法(0)

从客户端检测到潜在危险的Request.Path值(*)

我收到了相当自我解释的错误:

从客户端(*)检测到潜在危险的Request.Path值.

问题是由*请求URL引起的:

https://stackoverflow.com/Search/test*/0/1/10/1
Run Code Online (Sandbox Code Playgroud)

此网址用于填充搜索页面,其中"test*"是搜索字词,其余网址与各种其他过滤条件相关.

是否有一种简单的方法可以在URL中允许这些特殊字符?我试过修改web.config,但无济于事.

我应该手动编码/解码特殊字符吗?或者有这样做的最佳实践,我想避免使用查询字符串. - 但它可能是一种选择.

应用程序本身是一个c# asp.netwebforms应用程序,它使用路由生成上面的漂亮URL.

c# asp.net url routing webforms

210
推荐指数
4
解决办法
29万
查看次数

URL路由,图像处理程序和"潜在危险的Request.Path值"

我已经在很长一段时间内遇到过这个问题,并且已经决定尝试通过在这里发布问题来一劳永逸地找到它的底部.我在这里的.net 4网站上有一个图像处理程序:

https://www.amadeupurl.co.uk/ImageHandler.ashx?i=3604 (为隐私而删除了实际域名)

现在这个工作正常,并且没有问题地从Web服务器提供图像,我说没有问题,因为如果我访问URL它工作正常,图像加载,没有生成异常.但是,昨天有人确实访问了这个确切的网址,并提出了以下几条例外:

Exception Generated
Error Message:
A potentially dangerous Request.Path value was detected from the client (?).
Stack Trace:
at System.Web.HttpRequest.ValidateInputIfRequiredByConfig() at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)

Technical Information:
DATE/TIME: 23/01/2013 03:50:01
PAGE: www.amadeupurl.co.uk/ImageHandler.ashx?i=3604
Run Code Online (Sandbox Code Playgroud)

我理解错误信息,这不是问题我只是不明白为什么它在这里生成,使事情变得更糟我无法复制它,就像我说我点击链接图像加载,没有例外.我正在使用URL路由并注册要忽略的处理程序,以防这导致以下代码出现问题:

routes.Ignore("{resource}.ashx")
Run Code Online (Sandbox Code Playgroud)

我不知道为什么我会收到错误或者还有什么可以尝试.

.net vb.net asp.net web-config httphandler

41
推荐指数
1
解决办法
9万
查看次数

标签 统计

asp.net ×2

.net ×1

c# ×1

httphandler ×1

routing ×1

url ×1

vb.net ×1

web-config ×1

webforms ×1