加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – asp mvc“一个有潜在危险的Request.Form ……”

发布时间:2020-12-16 07:37:47 所属栏目:asp.Net 来源:网络整理
导读:我正在发送带有html的帖子给控制器,并在Chrome中获得例外: Failed to load resource: the server responded with a status of 500 (Internal Server Error) .net 4.0,webserver是webdev在vs2010我的配置: system.webcompilation debug="true" targetFramew
我正在发送带有html的帖子给控制器,并在Chrome中获得例外:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

.net 4.0,webserver是webdev在vs2010我的配置:

<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Abstractions,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Routing,PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Mvc,Version=2.0.0.0,PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.DataVisualization,PublicKeyToken=31BF3856AD364E35"/></assemblies>
</compilation>
<httpRuntime requestValidationMode="2.0" />
<pages validateRequest="false">
<namespaces>
<add namespace="System.Web.Mvc"/>
<add namespace="System.Web.Mvc.Ajax"/>
<add namespace="System.Web.Mvc.Html"/>
<add namespace="System.Web.Routing"/>
</namespaces>
</pages>

我错过了什么?

解决方法

您需要在要允许HTML的Controller Action上设置[ValidateInput(false)]. (或者在整个控制器上,但那是不好的做法.

另一件重要的事情是你已经拥有的,< httpRuntime requestValidationMode =“2.0”/>在web.config中.

在.aspx文件或web.config中设置RequestValidate在MVC中不起作用,因为它是控制器,而不是请求验证的View.

编辑:与此同时,MVC 3发布了.这允许您使用[AllowHtml]装饰模型的各个属性,以使其安全,而无需完全禁用请求验证.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读