当GoogleBot访问时,"从客户端检测到潜在危险的Request.Path值",但不是通过直接链接

Kar*_*sar 5 asp.net url elmah httprequest

我安装了ELMAH,最近检查错误日志.我发现了很多

System.Web.HttpException (0x80004005): A potentially dangerous Request.Path value was detected from the client (?).
   at System.Web.HttpRequest.ValidateInputIfRequiredByConfig()
   at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)
Run Code Online (Sandbox Code Playgroud)

标题如下:

Connection: Keep-alive Accept: */* Accept-Encoding: gzip,deflate From: googlebot(at)googlebot.com Host: xxxxxxxxxxxxx User-Agent: Googlebot-Image/1.0
Run Code Online (Sandbox Code Playgroud)

所以我认为Google正在访问它.

questoin中的URL是/uploads/EventData/MediaItems/Normal/xxxxxxxxxxxxxx-d65efc194d3849a98f5481452be59719.jpg?v=1.

当我尝试手动访问该URL时,它可以正常工作而没有任何错误.我注意到PATH_TRANSLATEDELMAH报告的变量是:

c:\websites\tmp\xxxxxxxxxxxxxx\www\deploy\uploads\EventData\MediaItems\Normal\xxxxxxxxxxxxxx-d65efc194d3849a98f5481452be59719.jpg?v=1
Run Code Online (Sandbox Code Playgroud)

我添加了?v=1querystring参数,以便对文件进行版本控制,如果更新了新文件,则会增加版本.据我所知,这应该不是问题,对吧?

我的主要问题是我不能复制这个错误,但它肯定会发生,因为ELMAH正在记录它.

Har*_*rsh 0

“潜在危险请求”通常发生在机器人爬行网站或某些黑客试图注入 URL 来查找漏洞时。这其实并不是什么值得担心的重要问题。

可以通过添加*到正则表达式匹配的 url 来复制它。

您可以通过添加错误过滤器来消除此错误。