我管理一个.NET网站,从我在这里工作之前就有了一个奇怪的问题。它不时抛出一个System.Web.HttpException:从客户端(:)错误电子邮件中检测到一个潜在危险的Request.Path值。
错误来自站点内随机页面的随机部分,我注意到的最后一个错误是针对CGI script_name的这个条目:
SCRIPT_NAME /Scrienu_6 { border-style:none; }.SystemMenu_7 { background-color:查看页面的已呈现代码,它看起来像是在响应头附近丢弃了一个数据包,并且它正在将脚本标记的src部分的末尾切割到一个内联样式块的半路上。
<script type="text/javascript" src="../Scripts/DisableTheScreen.js"></script>
<style type="text/css">
.floatingMenu
{
margin-top: 0px;
}
</style>
<link href="../App_Themes/siteTheme/Button.css" type="text/css" rel="stylesheet" />
<link href="../App_Themes/siteTheme/ConfirmBox.css" type="text/css" rel="stylesheet" />
<link href="../App_Themes/siteTheme/DisableBox.css" type="text/css" rel="stylesheet" />
<link href="../App_Themes/siteTheme/Panel.css" type="text/css" rel="stylesheet" />
<link href="../App_Themes/siteTheme/ResizableTextBox.css" type="text/css" rel="stylesheet" />
<link href="../App_Themes/siteTheme/Site.css" type="text/css" rel="stylesheet" />
<link href="../App_Themes/siteTheme/Tabs.css" type="text/css" rel="stylesheet" />
<style type="text/css">
.SystemMenu_0 { background- color:white;visibility:hidden;display:none;position:absolute;left:0px;top:0px; }
.SystemMenu_1 { color:White;font-weight:bold;text-decoration:none; }
.SystemMenu_2 { color:White;font-weight:bold; }
.SystemMenu_3 { }
.SystemMenu_4 { background-color:#004A80; }
.SystemMenu_5 { background-color:#004A80; }
.SystemMenu_6 { border-style:none; }
.SystemMenu_7 { background-color:#004A80; } 使它从中间切成一小块。
<script type="text/javascript" src="../Scri
enu_6 { border-style:none; }
.SystemMenu_7 { background-color:#004A80; } 我以前见过丢包用图片和卸载的CSS文件做有趣的事情,但我从未见过它们从呈现的页面内容中刻出一些片段。我已经搜索了相当多的问题,但没有发现类似的东西,所以我甚至不确定我是否在寻找正确的问题。
在过去5个月中,这个问题在一个相当高使用率的系统上只启动了22次,但可能比这更频繁,因为只有当对服务器的调用被请求验证器认为不安全的字符包围时,我们才会看到错误。
所以,是的,只是想知道是否有人知道我能做什么或寻找什么来解决这个问题?:)
在IIS7 7/Win2k8中观察到了这种行为。据报告,在IIS8 8/Win2k12和IIS8 8/Win8.1中也观察到了这种情况。我在IIS6 6/Win2k3中没有看到这方面的证据。这是我最近一次在2013年11月左右由我的两个不同的客户报告的。两个服务器环境都没有安装VisualStudio。.NET框架2.0、3.5和4.51?都安装在两个服务器环境中。
我已经要求从两个客户的日志和完整的规格,其中一个已作出回应,并确认问题已不再发生。因此,我怀疑Msft的更新或修补程序解决了它,它是与网络相关的,并且已经解决,或者Cthulhu决定折磨其他人。另一位客户尚未作出回应。
当然,除了OP和这些客户之外,肯定还有其他人看到了这种行为?如果可能的话,找到一个明确的答案并将这个问题与已知的修复联系起来是很好的。(你得到了200分.耶!)
发布于 2014-10-31 05:41:57
您的请求url是否有任何*,这可能会导致这种情况。
**
<system.web>
<httpRuntime requestPathInvalidCharacters="<,>,%,&,:,\,?" />
</system.web>**
您可以将此添加到web配置中,以使其正确。
发布于 2014-11-24 07:11:45
这可能是文件加载程序管理不好的问题。
如果您使用任何编辑器来上传内容,其他潜在的危险请求可能会通过。如果情况是这样的话,您需要进行管理。可以在使用编辑器的页面上禁用验证。您可以这样描述web.config中的验证模式。
发布于 2014-12-19 11:49:24
添加
<pages validateRequest="false"/>
在web.config中。
https://stackoverflow.com/questions/18907524
复制相似问题