问题描述
- mvc 提交html代码,问题(VS2013、win7、net4.0)不用XSS验证
-
本来这应该不是问题!!但是可能是我的环境有点复杂吧!
我现在用的是32位win7系统,VS2013、建立mvc只能创建mvc4,但是由于我租用的web空间现在只支持framework 4.0!!,只好在:项目→属性→选择.NET framework 4 !!
现在我在web.config中设置了 又在Controller的方法中 添加了[ValidateInput(false)]标签,可还是不行!!最后查到:用string tt = Request.Unvalidated.Form[""webeditor""];,可是我降级为.NET4.0,还没有这个属性~!!!!!!!!!!!!
一直出现这个错误!
从客户端(TextBox1=""反反复复烦烦烦反反复复..."")中检测到有潜在危险的 Request.Form 值。
解决方案
检查下web.config是不是正确
解决方案二:
mvc其他版本有独立安装包的
解决方案三:
我机器上安装的就是asp.net mvc 4. 我使用的是vs2012和.net 4
只要使用了[ValidateInput(false)] 就没有问题了。
我的测试工程很简单一个index view 有个form 提交到Submit action
<body> <div> <% using (Html.BeginForm(""Submit""Home"")) %> <% { %> <%:Html.TextBoxFor(m => m.Content1) %> <%: Html.ActionLink(""test link""Submit""Home"")%> <input type=""submit"" value=""Submit""/> <% } %> </div></body>
Submit action 接收提交的数据,放到ViewBag里
[ValidateInput(false)] public ActionResult Submit(Content Content) { ViewBag.Content = Content.Content1; return View(); }
Submitview 里显示提交后的内容
<body> <div> after submit <br/> <%: Html.Raw(ViewBag.Content) %> </div></body>
还有一个简单的Model类
public class Content { public string Content1 { get; set; } }
我这里测试没有问题,例如提交一个
test is a test
在最后显示的就是H1大小的文字 解决方案四:
对了,我的web.config就是vs默认生成了,我没有做任何修改。
时间: 2024-09-15 13:57:07