ASP.NET检测到不安全 Request.Form 值解决方案汇总_实用技巧

当我们在网站中使用CKEditor等富文本编辑器时,大多都会遇到这样的到警告

这是因为ASP.NET默认开启对页面提交内容的验证(不仅是ASP.NET MVC,WebForms也默认启用对页面提交的内容进行验证),解决这个问题的关键就在于在有富文本编辑器的页面或者会有提交html代码的页面关闭验证,可大致分为以下三种情况:

基于Framework2.0 webForm的网站

这种情况相比之下算是最好解决的,直接在需要的页面顶部的 Page 指令中设置 ValidateRequest="false"即可

基于Framework4 webForm的网站

这种情况与framework2.0 相比,稍微麻烦一些,不仅需要在页面顶部声明 ValidateRequest="false",还需要在 web.config文件中进一步修改,在web.config 添加或修改

<httpRuntime requestValidationMode="2.0"/>

ASP.MVC网站

第一步,修改web.config文件,如果是针对在某个目录下的文件的话,可以直接新建一个web.config文件(web.config文件有"就近原则",重复定义的属性,以离页面最近的web.config文件定义的为准),并在<system.web>节点下添加

<pages validateRequest="false" ></pages>

(如果大多数文件都需要设置取消验证的话可以直接修改在网站根目录下的web.config文件)

第二步则需要在所需要设置的页面对应的Action方法上添加 [ValidateInput(false)] 属性,以标明取消验证。

第三步,最后在显示的页面应当 使用Html.Raw() 方法输出带html的内容,因为默认情况下会将html转义

以上所述就是本文的全部内容了,希望大家能够喜欢。

时间: 2023-11-16 19:28:50

ASP.NET检测到不安全 Request.Form 值解决方案汇总_实用技巧的相关文章

ASP.NET检测到不安全 Request.Form 值解决方案汇总

  这篇文章主要介绍了ASP.NET检测到不安全 Request.Form 值解决方案汇总 ,十分的全面,需要的朋友可以参考下 当我们在网站中使用CKEditor等富文本编辑器时,大多都会遇到这样的到警告 这是因为ASP.NET默认开启对页面提交内容的验证(不仅是ASP.NET MVC,WebForms也默认启用对页面提交的内容进行验证),解决这个问题的关键就在于在有富文本编辑器的页面或者会有提交html代码的页面关闭验证,可大致分为以下三种情况: 基于Framework2.0 webForm的

asp.net 从客户端中检测到有潜在危险的 Request.Form 值错误解_实用技巧

 从客户端(ftbContent="<P><A href="http://l...")中检测到有潜在危险的 Request.Form 值. 说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止.该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击.通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证.但是,在这种情况下,强烈建议应用程序显式检查所有输入. 异常详细信息: System.We

有潜在危险的 Request.Form 值避免方法_实用技巧

个人感觉在 .net framework 4.0中 最好的解决" 有潜在危险的 Request.Form 值" 这个问题的方法是 在 system.web 中加上 <httpRuntime requestValidationMode="2.0"/> 这句话 因为4.0的验证在HTTP的BeginRequest前启用 复制代码 代码如下: <system.web> <httpRuntime requestValidationMode=&q

Asp.net内置对象之Request对象(概述及应用)_实用技巧

前言:Request对象主要用于获取来自客户端的数据,如用户填入表单的数据.保存在客户端的Cookie等. 一.Request对象概述 1.主要属性    ApplicationPath  获取服务器上asp.net应用程序的虚拟应用程序根路径  Browser  获取有关正在请求的客户端的浏览器功能的信息,该属性值为:HttpBrowserCapabilities对  象  ContentEncoding  获取或设置实体主体的字符集.该属性值为表示客户端的字符集Encoding对象  Con

asp.net实现调用存储过程并带返回值的方法_实用技巧

本文实例讲述了asp.net实现调用存储过程并带返回值的方法.分享给大家供大家参考,具体如下: /// <summary> /// DataBase 的摘要说明 /// </summary> public class DataBase { /// <summary> ///DataBase 的摘要说明 /// </summary> protected static SqlConnection BaseSqlConnection = new SqlConnec

ASP.NET文件上传控件Uploadify的使用方法_实用技巧

对于文件上传来说,有很多种实现方式,如传统的表单方式,现在流行的flash方式,甚至还有纯JS方式,之所以有这些方式来实现文件上传,我想主要原因是因为,传统的上传对于大文件支持不够,因为它是单线程同步机制,当大文件通过HTTP方式发送到服务端时,对于服务端站点的主线程影响比较大,会产生阻塞,所以,现在很多上传控制都是异步,多线程的方式去实现的. 今天来介绍一个文件上传控制,它就是Uploadify,它应该是flash的异步上传工具,对于大文件支持还不错,所以,我选择了它. 相关API介绍 upl

ASP.NET编译执行常见错误及解决方法汇总_实用技巧

1.检测到有潜在危险的 Request.Form 值 原因: (1)在提交数据的页面或webconfig中没有对validateRequest的属性进行正确的设置 (2)HTML里面写了两个<form>引起 解决: 方案一: 在.aspx文件头中加入这句: <%@ Page validateRequest="false" %> 方案二: 修改web.config文件: <configuration> <system.web> <pa

asp.net下使用Request.From获取非服务器控件的值的方法_实用技巧

复制代码 代码如下: <tr> <td>登录名:<input id="Text1" type="text" name="loginName" /><asp:Label ID="Label1" runat="server" Text="用户名已经存在"></asp:Label> </td> </tr> &l

asp.net中Request.QueryString与Request.Param的区别分析_实用技巧

request.params其实是一个集合,它依次包括request.querystring.request.form.request.cookies和request.servervariables. 如果要在两个页面传递数据的话,只能用request.querystring.request.form.request.cookies Request.Params 是在 QueryString.Form.Server Variable 以及 Cookies 找数据, 他首先在 QueryStrin