首页 > 其他 > 详细

ckeditor出现错误“从客户端(***)中检测到有潜在危险的 Request.Form值”的解决方法

时间:2015-03-26 16:31:10      阅读:466      评论:0      收藏:0      [点我收藏+]

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()。

        }

    }



ckeditor出现错误“从客户端(***)中检测到有潜在危险的 Request.Form值”的解决方法

原文:http://www.cnblogs.com/wanshi1989/p/4368809.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!