使用MVC,EF 4.2。我正在开发一个有评论部分的应用程序。现在,如果用户输入包含HTML的评论,例如
<b>text</b>
并点击提交我收到消息 “检测到一个非常危险的Request.Form值......”
答案 0 :(得分:1)
你可以做到
[ValidateInput(false)]
public ActionResult foo()
{
}
或者您可以使用AllowHtml
public class Foo
{
[AllowHtml]
public string bar{ get; set; }
}
答案 1 :(得分:0)
您可能还需要在web.config中设置requestValidationMode:
</system.web>
<httpRuntime requestValidationMode="2.0" />
</system.web>
有关详细信息,请参阅this link。
答案 2 :(得分:0)
MVC有一个属性,允许您指定属性应该允许html而不完全禁用验证。它仍然很危险,但它可以限于单一财产,因此可以减轻风险。这是MSDN article for the AllowHtmlAttribute。正确使用属性应该是装饰模型中的相应属性:
public class MyModel
{
public MyModel()
{
}
// Some other stuff in here
[AllowHtml]
[HttpPost]
public string MyHtmlString { get; set; }
}
答案 3 :(得分:0)
我允许html incomments的解决方案如下: