【详细错误】:从客户端(SaveXML="...="39038"/></记录集合>")中检测到有潜在危险的 Request.Form 值。
【错误经过】:自.net1.1迁移至.net4.0时出现,原webconfig中存在:
~~~
<xhtmlConformance mode="Legacy" />
<pages validateRequest="false" />
~~~
【错误分析】:这是.net在页面Request值时,防止XSS攻击的一种策略,出于安全起见我们应对将输入字符串用 HttpUtility.HtmlEncode()来编码,将其中的HTML标签彻底禁止,然后再对需要的标签,进行Replace()替换回原有格式。
例如:
~~~
void saveBtn_Click(object sender, EventArgs e){
string strValue = HttpUtility.HtmlEncode(Request.Form["inputValue"]);
Response.Write(strValue.Replace("<br>","<br>"));
}
~~~
【解决办法】:在webconfig中加入或替换:
<httpRuntime requestValidationMode="2.0" maxRequestLength="102400" executionTimeout="6000"/>
- 前言
- 【“/”应用程序中的服务器错误】之IL 格式不正确
- 【验证您是服务器上&quot;Debugger users&quot;组的成员】的解决方案
- 【无法在web服务器上启动调试。与Web服务器通信时出现身份验证错误】的解决方案
- 处理【检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败】
- win7 IIS7.0下建立虚拟目录 以解决打开vs2003的办法
- 【“/”应用程序中的服务器错误。】之 分析 EntityName 时出错
- 【&quot;/&quot; 应用程序中的服务器错误】之找不到可安装的 ISAM
- 处理【aspnet_merge.exe”已退出,代码为1。An error occurred when merging assemblies: 索引超出了数组界限。】
- win7 IIS7.0 【IIS 管理器无法验证此内置帐户是否有访问权】
- 解决vs2005不能调试ASP.NET程序
- 解决win7下安装SQL2000时【以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机!】
- WebService中使用DataTable造成&quot;无法序列化&quot;的解决办法
- 处理【由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面】
- 处理【试图运行项目是出错:无法在Web服务器上启动服务。您不具备此应用程序的权限。】
- 解决在IIS7.0上部署ASP.NET1.1站点时【“/”应用程序中的服务器错误。无法识别的配置节“system.webServer”】的问题
- 处理【试图运行项目时出错:无法启动调试,没有正确安装调试器。请运行安装程序安装或修复调试器。】
- 处理【GDI+ 中发生一般性错误】
- 解决vs2005下Global.asax缺少cs文件的使用不便
- 处理【System.Data.SqlClient.SqlError:媒体集有2个媒体簇,但只提供了1个。必须提供所有成员。】
- c#把cs文件编译为dll文件(二) 处理带有调用WebService方法的cs
- win7+IIS7下处理【检测到在集成的托管管道模式下不适用的ASP.NET设置】
- php中使用split()出现Warning: split(): REG_EMPTY
- php中使用异步调用获取数据时出现【由于出现错误 c00ce56e 而导致此项操作无法完成】
- php【Warning: imageftbbox(): Could not find/open font in……】的问题
- 处理PHP mysql_query执行超时 【Fatal error: Maximum execution time of 300 seconds exceeded in……】
- 处理【php-cgi.exe - FastCGI 进程超过了配置的请求超时时限】
- 处理【从客户端中检测到有潜在危险的 Request.Form值】