ckeditor出现错误“从客户端(***)中检测到有潜在危险的 Request.Form值”的解决方法
ckeditor出现错误“从客户端(***)中检测到有潜在危险的 Request.Form值”的解决方法
页面中使用ckeditor,提交文章时总是出错,“从客户端(TextBox1="<p>ww</p>")中检测到有潜在危险的 Request.Form 值。”,其中“ww”是文章的正文。这是由于在.net中,Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值。立马报错上面的错误。
注意!!!:在webconfig里面加入<httpRuntime requestValidationMode="2.0"/>(VS2010使用asp.net 4.0,请求验证处理机制会使第一条失效,所以还要进行这个修改)。
如:在网页的TextBox1中输入一些HTML代码,点提交按钮后会报错。
网上搜索了一下,都是如下两个解决方法:
解决办法:
解决方案一:
在.aspx文件头中加入这句:
<%@ Page validateRequest="false" %>
解决方案二:
修改web.config文件:
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
因为validateRequest默认值为true。只要设为false即可。
推荐使用方法一。
其实这两种方法都只顾着调试通过,不考虑安全性,很容易留下被注入的隐患,于是又有人提出了两个解决方法:
解决方案三:
当然,这样只能是让界面好看一些,要想抵制注入,还得从过滤上做足功夫
然后,还是有不禁用validateRequest的方法的,如下
不禁用validateRequest=false。
正确的做法是在你当前页面添加Page_Error()函数,来捕获所有页面处理过程中发生的而没有处理的异常。然后给用户一个合法的报错信息。如果当前页面没有Page_Error(),这个异常将会送到Global.asax的Application_Error()来处理,你也可以在那里写通用的异常报错处理函数。如果两个地方都没有写异常处理函数,才会显示这个默认的报错页面呢。
举例而言,处理这个异常其实只需要很简短的一小段代码就够了。在页面的Code-behind页面中加入这么一段代码:
以下是引用片段:
protected void Page_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
if (ex is HttpRequestValidationException)
{
Response.Write("请您输入合法字符串。");
Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。
}
}
解决方案四:
在Global.asax文件的Application_Error()来处理。这样在整个网站中都生效。
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
Exception ex = Server.GetLastError();
if (ex is HttpRequestValidationException)
{
Response.Write("请您输入合法字符串。");
Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。
}
}
最新文章
- Linux同平台数据库整体物理迁移
- gdb可以调试python的pdb么
- (十五)WebGIS中平移功能的设计和实现
- maven之window安装
- Socket编程注意接收缓冲区大小
- 51nod 1264 线段相交
- Laravel环境配置之安装Homestead
- thinkphp 访问其它控制器模板
- modelsim命令行仿真提示“vsim 不是内部或外部命令,也不是可运行的程序或批处理文件”的解决办法
- poj1410
- WebGL自学教程——WebGL演示样例:開始
- 实现最简单PHP MVC实例
- ngx.ctx
- Java程序员必备的Intellij插件
- java游戏开发杂谈 - java是什么
- 初级字典树查找在 Emoji、关键字检索上的运用 Part-2
- 《MATLAB面向对象程序设计》
- c# lambda表达式学习
- 看个AV也中招之cve-2010-2553漏洞分析
- 关于AWS的备份策略
热门文章
- linux centos apache开启gzip的方法
- sublime使用技巧(1)-- 下载与插件安装
- SQL索引及表的页的逻辑顺序与物理顺序
- saltstack内置执行模块groupadd
- ASIHTTP 框架,同步、 异步请求、 上传 、 下载
- elasticsearch从入门到出门-01windows上安装使用
- 洛谷 4035 [JSOI2008]球形空间产生器
- Jquery事件绑定的4中方式对比
- Js 抱错:::SyntaxError: identifier starts immediately after numeric literal
- eclipse svn 分支合并到主干