相关疑难解决方法(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万
查看次数

如何在MVC路由中启用特殊字符?

我正在使用asp.net MVC 4.

这些是我的路线:

        routes.MapRoute(
         name: "Default",
         url: "{controller}/{action}/{id}"
         );
Run Code Online (Sandbox Code Playgroud)

我当前的控制器正确响应以下请求:

http://localhost:2020/PrivacyUrls/Details/ct14524

如何验证这些网址?

http://localhost:2020/PrivacyUrls/Details/*ct14524

http://localhost:2020/PrivacyUrls/Details/&ct14524

现在返回404.

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

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

我想加入这条路线,但没有帮助:

       routes.MapRoute(
         "PivacyUrl/Details",
         "PrivacyUrls/Details/{*ctid}",// URL with parameters 
         new { controller = "PrivacyUrls", action = "Details" }
         );
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc asp.net-mvc-routing asp.net-mvc-4

8
推荐指数
1
解决办法
9091
查看次数

ASP.NET MVC"有潜在危险的Request.Path",带有效URL

在我的生产ASP.NET MVC 3站点上,我注意到偶尔会出现"从客户端检测到一个潜在危险的Request.Path值(%)".Windows应用程序日志中的未处理异常.

虽然这些在常规站点使用(即/随机web机器人)下完全有效,但许多请求似乎来自有效的本地ISP用户.

在例外的请求详细信息中,请求URL与请求路径不同:

请求URL:http://www.somesite.com/Images/Image With Space.jpg

请求路径:/Images/Imagehttp://www.somesite.com/Images/Image With Space.jpgWithhttp://www.somesite.com/Images/Image With Space.jpgSpace.jpg

请注意,在"请求路径"中,路径中存在"空格"的任何位置都会替换为请求URL的精确副本!

在网站内,实际链接如下所示:

<img src="/Images/Image%20With%20Space.jpg" />
Run Code Online (Sandbox Code Playgroud)

知道可能导致这种情况的原因吗?我试着查看Request.Path和Request.Url的文档,但我无法弄清楚为什么它们会有所不同.直接命中请求URL会正确显示资源.

更新:我设法通过使用IIS 7.0的失败请求跟踪功能来查看其中一个故障请求:

推荐人:谷歌搜索

用户代理:Mozilla/5.0(iPad; CPU OS 5_1_1,如Mac OS X)AppleWebKit/534.46(KHTML,如Gecko)版本/ 5.1 Mobile/9B206 Safari/7534.48.3

RequestURL:http://www.somesite.com:80/Images/Image%20With%20Space.jpg

手动将URL键入我的iOS 5.1.1会正确显示图像.在Google图像中搜索图像会正确显示图像.仍然没有成功的复制.

在路径的中途,我看到:

MODULE_SET_RESPONSE_ERROR_STATUS警告.ModuleName ="RequestFilteringModule",Notification ="BEGIN_REQUEST",HttpStatus ="404",HttpReason ="Not Found",HttpSubStatus ="11",

根据IIS的文档,来自请求过滤模块的404.11是URL中的"双重编码"错误.尝试一下,如果我有目的地创建一个双重编码的URL,如http://www.somesite.com/Images/Image%2520With%2520Space.jpg,我会在事件日志中得到确切的错误,并填写格式错误的请求路径.

事件日志错误中格式错误的请求路径似乎是ASP.NET 4.0中的错误.

但是,它没有解释为什么我首先得到错误.我检查了大量失败的请求日志 - 唯一的常见因素是他们都在使用AppleWebKit.它可能是Safari中的一个错误吗?

iis-7 asp.net-mvc-3 requestfiltering

5
推荐指数
1
解决办法
5052
查看次数

获取“从客户端(&)检测到潜在的危险Request.Path值”

我有一个REST服务,当我尝试调用名称为的项目时,出现上述错误,如果我未对&进行编码,这将是有意义的

所以这就是我的电话:

http:// localhost:57851 / myService / Servers / myServer / Repositories / myRepository / Models / Mine%26Yours

您会看到“ Mine&Yours”已被编码为“ Mine%26Yours”,因此应该是安全的。

但是该请求正在被接收,好像我没有对其进行编码。

有任何想法吗?

编辑:

这与(获取“从客户端(&)检测到潜在的Request.Path值”)不同。

vb.net rest asp.net-mvc

4
推荐指数
1
解决办法
6499
查看次数

将带有html标签的字符串传递给asp.net mvc中的控制器

我正在使用asp.net mvc2,我想实现一个富文本区域,并将此textarea中的内容传递给控制器​​.但是,我发现由于富文本区域的内容包含html标签,例如"
",因此无法传递给控制器​​.如果我使用正则表达式删除此html标记,一切都很好.

我该怎么做才能将包含html标签的这些内容传递给控制器​​?

asp.net-mvc wysiwyg richtextbox

3
推荐指数
1
解决办法
3472
查看次数