从客户端(userName="
")中检测到有潜在危险的 Request.Form 值。怎么办呀?

「已注销」 2011-03-26 03:25:30
aspx文件 config文件 controller里面都改为false了,还是不行.....

config文件
<?xml version="1.0"?>
<configuration>
<system.web>
<httpRuntime requestValidationMode="2.0"/>
<httpHandlers>
<add path="*" verb="*"
type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>

<!--
Enabling request validation in view pages would cause validation to occur
after the input has already been processed by the controller. By default
MVC performs request validation before a controller processes the input.
To change this behavior apply the ValidateInputAttribute to a
controller or action.
-->
<pages
validateRequest="false"
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<controls>
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
</pages>
</system.web>

<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler"/>
</handlers>
</system.webServer>
</configuration>




aspx文件

<%@ Page validateRequest="false" Title="" Language="C#" MasterPageFile="~/Views/shared/m1.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>


controller里面

[ValidateInput(false)]
public ActionResult message(string Class)
{
...全文
22226 46 打赏 收藏 转发到动态 举报
写回复
用AI写文章
46 条回复
切换为时间正序
请发表友善的回复…
发表回复
guoyanhong1111 2013-09-06
  • 打赏
  • 举报
回复
11楼和30楼的方法都可取。。
ssszs 2013-05-13
  • 打赏
  • 举报
回复
<httpRuntime requestValidationMode="2.0"/> 这个完全解决了我的问题,谢谢 !
luofeng19891213 2013-04-23
  • 打赏
  • 举报
回复
11楼 正解
一滴长江水 2013-04-23
  • 打赏
  • 举报
回复
引用 13 楼 weiyanli20080 的回复:
C# code?1234在WebConfig中进行这样的配置: <httpRuntime requestValidationMode="2.0"/>如果还不行,再加上这一句<pages validateRequest="false"/>
太有用了...感谢
huhu88a 2013-04-16
  • 打赏
  • 举报
回复
引用 11 楼 taomanman 的回复:
你的IIS部署环境选择是.NET4.0吧? 你在Web.Config文件中的配置节</system.web>之前加上如下一句配置就可以了 C# code?1<httpRuntime requestValidationMode="2.0" /> 就可以解决问题了
这个是正解!!!!
黑心 2012-09-24
  • 打赏
  • 举报
回复
30楼的V5了。

开山怪不怪 2012-09-22
  • 打赏
  • 举报
回复
在MVC 中 的C 中方法上一行加[ValidateInput(false)]
oyzlcs 2012-08-01
  • 打赏
  • 举报
回复
11楼可以解决
huziyan1314201 2012-07-24
  • 打赏
  • 举报
回复
30楼的的是威武啊,非常感谢,354011073 qq加我,太犀利了
linkl9 2012-07-23
  • 打赏
  • 举报
回复
试试11楼的方法。也是遇到同样的问题
bzyqidaiwanmei 2012-06-28
  • 打赏
  • 举报
回复
你在Web.Config文件中的配置节</system.web>之前加上如下一句配置就可以了
C# code
<httpRuntime requestValidationMode="2.0" />
xiaoerkfc 2012-06-21
  • 打赏
  • 举报
回复
我的加上这句就可以了<httpRuntime requestValidationMode="2.0" />
wycSun1991 2012-06-19
  • 打赏
  • 举报
回复
非常感谢30楼...
aXinNo1 2012-06-10
  • 打赏
  • 举报
回复
我今天遇到跟搂住一样的问题,环境是vs2010,通过11楼的方法试了一下,问题得到解决了,谢谢这位朋友!
skk5529765 2012-06-05
  • 打赏
  • 举报
回复
我也遇到但是按照上面的还是解决不了啊
我的是弹出模式窗口
这是模式窗口弹出的url
http://localhost:57230/Tpri.Web/ErrorInfo.aspx?error=%E4%BB%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%28%26%29%E4%B8%AD%E6%A3%80%E6%B5%8B%E5%88%B0%E6%9C%89%E6%BD%9C%E5%9C%A8%E5%8D%B1%E9%99%A9%E7%9A%84+Request.Path+%E5%80%BC%E3%80%82&page=%2fTpri.Web%2fProject%2fAlmQuery%2f%26type%3dDESU%26AlmId%3d13%26OrganId%3d%26Operation%3dCreate%26OrgID%3d%26SourcePage%3dAlmQuery
Deson520 2012-06-02
  • 打赏
  • 举报
回复
我也遇到了这个问题,现在已经解决了。说下我对这个错误的理解和解决方法吧。
1. 原因:是因为对某个控件赋Text值时,字符串里包含危险字符,如"<","\",">","&","\r\n"等字符。
2. 解决方法:(1)如果是我们确实需要加入这些字符,比如我想生成的字符串加载到TextBox时,有缩进,换行就需要"\r\n\t"。解决方法是在需要的那个页面<@ Page />标签里加“validateRequest="false"”,意思是不对回传数据进行验证,因为不安全,建议只写在页面,不要写在web.config中。如果项目是framework2.0的话,应该就好了,如果是framework4.0,就需要在web.config,<system.web>节点下加<httpRuntime requestValidationMode="2.0" />就可以了。
(2)如果不是自己需要的,可以使用Server.HtmlEncode(string)方法,对字符串进行编码,这样就会将危险字符转义为普通的字符。如TextBox1.Text=Server.HtmlEncode(teststring);
3. 微软参考网页:http://www.asp.net/whitepapers/request-validation
linfeng520110 2012-06-01
  • 打赏
  • 举报
回复
楼主解决了吗?什么解决的?
zheng_www 2012-05-09
  • 打赏
  • 举报
回复
虽然是一年前的帖子了。但是还想说一句,关于这个问题的解决方法,报错的页面顶部,微软已经提供了解决方法。为什么不看呢?
gongjie416 2012-05-09
  • 打赏
  • 举报
回复
十分感谢,我也遇到同样的问题,在这边找到了解决方法
benben_tong 2011-11-30
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 weiyanli20080 的回复:]
C# code

在WebConfig中进行这样的配置:
<httpRuntime requestValidationMode="2.0"/>
如果还不行,再加上这一句
<pages validateRequest="false"/>
[/Quote]


嗯,按照这个方法我解决了。
加载更多回复(23)

62,075

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧