ASP.NET 4.0中使用FreeTextBox遇到安全问题警告的解决办法
2012-04-24 17:32
791 查看
新闻发布系统看了有一段时间了,很少遇到棘手的问题,基本上遇到最多的就是浏览器的兼容问题。
不过,在今天遇到了一个关于freeTextBox的安全问题。也就是用freeTextBox来添加新闻内容的时候,弹出如下警告:
出错内容:
<httpRuntime requestValidationMode="2.0" />。设置此值后,可通过在 Page 指令或 <pages> 配置节中设置 validateRequest="false" 禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkId=153133。
异常详细信息: System.Web.HttpRequestValidationException: 从客户端(ContentPlaceHolder1_M_ContentPlaceHolder_ftbContent="ff<STRONG>ff</STRONG>")中检测到有潜在危险的 Request.Form 值。
先说一下,我的处理过程:
其实我们可以从出错信息中找到一些信息,我的做法:
首先在页面中加入这句话:
ValidateRequest="false"
结果发现错误依旧,那么,再看出错信息,我们看到了这句话:请将 httpRuntime 配置节中的 requestValidationMode 特性设置为 requestValidationMode="2.0"。示例: <httpRuntime requestValidationMode="2.0" />。
然后再Web.config文件中做如下配置:
问题解决了!!!!
下面我们来总结一下:
一、分析原因:
ASP.Net 1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力。
当用户试图用之类的输入影响页面返回结果的时候,ASP.Net的引擎会引发一个
HttpRequestValidationExceptioin。也就是说,页面请求(request)时,含
有html或javascript等字符串时。ASP.NET会认为是危险的值,就会抛出辞异常。
当页面上使用了所见即所得编辑器(例如使用了fckeditor或FreeTextBox控件等)
的时候会发生此异常。
二、ASP.net4.0请求验证模式发生变化
参见:http://space.itpub.net/14466241/viewspace-669557
三、大家可以看一下这个官方的帮助文档,会对大家对这个问题的认识有所帮助的:
http://www.asp.net/whitepapers/request-validation
其实讲解了这个安全验证的由来,以及作用。
请大家注意一下这里:
其中讲到了如果取消了这个安全验证的话,而且想存储content的话,那么就需要对其进行编码工作。
本人也是刚刚接触asp.net,希望大家留下您的宝贵意见!!!!
不过,在今天遇到了一个关于freeTextBox的安全问题。也就是用freeTextBox来添加新闻内容的时候,弹出如下警告:
出错内容:
从客户端(ContentPlaceHolder1_M_ContentPlaceHolder_ftbContent="ff<STRONG>ff</STRONG>")中检测到有潜在危险的 Request.Form 值。
说明:请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击。若要允许页面重写应用程序请求验证设置,请将 httpRuntime 配置节中的 requestValidationMode 特性设置为 requestValidationMode="2.0"。示例:<httpRuntime requestValidationMode="2.0" />。设置此值后,可通过在 Page 指令或 <pages> 配置节中设置 validateRequest="false" 禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkId=153133。
异常详细信息: System.Web.HttpRequestValidationException: 从客户端(ContentPlaceHolder1_M_ContentPlaceHolder_ftbContent="ff<STRONG>ff</STRONG>")中检测到有潜在危险的 Request.Form 值。
先说一下,我的处理过程:
其实我们可以从出错信息中找到一些信息,我的做法:
首先在页面中加入这句话:
ValidateRequest="false"
结果发现错误依旧,那么,再看出错信息,我们看到了这句话:请将 httpRuntime 配置节中的 requestValidationMode 特性设置为 requestValidationMode="2.0"。示例: <httpRuntime requestValidationMode="2.0" />。
然后再Web.config文件中做如下配置:
问题解决了!!!!
下面我们来总结一下:
一、分析原因:
ASP.Net 1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力。
当用户试图用之类的输入影响页面返回结果的时候,ASP.Net的引擎会引发一个
HttpRequestValidationExceptioin。也就是说,页面请求(request)时,含
有html或javascript等字符串时。ASP.NET会认为是危险的值,就会抛出辞异常。
当页面上使用了所见即所得编辑器(例如使用了fckeditor或FreeTextBox控件等)
的时候会发生此异常。
二、ASP.net4.0请求验证模式发生变化
参见:http://space.itpub.net/14466241/viewspace-669557
三、大家可以看一下这个官方的帮助文档,会对大家对这个问题的认识有所帮助的:
http://www.asp.net/whitepapers/request-validation
其实讲解了这个安全验证的由来,以及作用。
请大家注意一下这里:
其中讲到了如果取消了这个安全验证的话,而且想存储content的话,那么就需要对其进行编码工作。
本人也是刚刚接触asp.net,希望大家留下您的宝贵意见!!!!
相关文章推荐
- ASP.NET 4.0中使用FreeTextBox遇到安全问题警告的解决办法
- ASP.NET 4.0中使用FreeTextBox和FCKeditor遇到安全问题警告的解决办法
- ASP.NET 4.0中使用FreeTextBox和FCKeditor遇到安全问题警告的解决办法
- ASP.NET 4.0中使用FreeTextBox和FCKeditor遇到安全问题警告的解决办法
- ASP.NET 4.0中使用FreeTextBox和FCKeditor遇到安全问题警告的解决办法
- ASP.NET 4.0中使用FCKeditor遇到安全问题警告的解决办法
- FreeTextBox和FCKeditor遇到安全问题警告的解决办法
- [未能将网站 xxxxxxx配置为使用 ASP.NET 4.0。为了使此网站正确运行,您必须将它手动配置为使用 ASP.NET 4.0] 问题的解决办法
- EF Database First with ASP.NET MVC: Creating the Web Application and Data Models开发遇到问题的解决办法
- 常量,字段,构造方法 调试 ms 源代码 一个C#二维码图片识别的Demo 近期ASP.NET问题汇总及对应的解决办法 c# chart控件柱状图,改变柱子宽度 使用C#创建Windows服务 C#服务端判断客户端socket是否已断开的方法 线程 线程池 Task .NET 单元测试的利剑——模拟框架Moq
- asp.net使用session丢失问题的解决办法
- asp.net 使用Ueditor过程中出现的问题及解决办法
- 在使用ASP.NET网站管理工具出现“遇到错误。请返回上一页并重试。”的解决办法!
- 使用Asp.net MVC 2.0 +.NET 4.0 出现 “从客户端 ... 中检测到有潜在危险的 Request.Form 值”错误的解决办法
- 将asp.net webapi的运行时版本由4.0升级到4.5.1时遇到的问题及解决
- 使用Hibernate 5.0、4.0、3.0 createSQLQuery执行原生Sql语句 遇到问题及解决办法集锦
- Asp.net MVC 3 Razor 视图引擎 中使用@输出的内容都会被自动进行HTML编码 问题的解决办法
- 在使用ASP.NET网站管理工具出现“遇到错误。请返回上一页并重试。”的解决办法!
- 转载:在部署时使用Excel .NET运行库导出Excel遇到问题及解决办法
- asp.net中使用response.write造成界面变形问题的解决办法