属性中的AllowHtml允许我的用户打破页面

时间:2013-01-29 21:40:00

标签: asp.net-mvc asp.net-mvc-3 razor

我使用tinyMCE允许用户在文本区域中设置文本样式 我有一个属性

[AllowHtml] Description {get;set;}

一切正常。但如果使用写这样的东西:

<div>not closed tag

这打破了整个页面。如何防止这种情况?
我用它来显示文字:

@Html.Raw(Model.Description)

1 个答案:

答案 0 :(得分:2)

AllowHtml仅允许发布某些特殊字符。这不会验证您的标记。

  

如果使用AllowHtmlAttribute属性标记属性,则ASP.NET MVC框架会在模型绑定期间跳过对该属性的验证

将用户生成的标记加载到页面上可能是一个安全问题。您的验证程序会要删除某些标记,例如script.许多网站都使用iframe来显示用户生成的标记内容,以避免此问题。