Asp.net mvc AllowHtml in属性允许我的用户断开页面
我使用tinyMCE允许用户在文本区域中设置文本样式。Asp.net mvc AllowHtml in属性允许我的用户断开页面,asp.net-mvc,asp.net-mvc-3,razor,Asp.net Mvc,Asp.net Mvc 3,Razor,我使用tinyMCE允许用户在文本区域中设置文本样式。 我有一处房产 [AllowHtml] Description {get;set;} 一切正常。但如果使用,请写以下内容: <div>not closed tag 只允许发布某些特殊字符。这将不会验证您的标记 如果一个属性被标记为allowtmlatAttribute属性,ASP.NET MVC框架将在模型绑定期间跳过该属性的验证 将用户生成的标记加载到页面上可能是一个安全问题。您的验证器可能希望去掉某些标记,如脚本。许多网站
我有一处房产
[AllowHtml] Description {get;set;}
一切正常。但如果使用,请写以下内容:
<div>not closed tag
只允许发布某些特殊字符。这将不会验证您的标记
如果一个属性被标记为allowtmlatAttribute属性,ASP.NET MVC框架将在模型绑定期间跳过该属性的验证
将用户生成的标记加载到页面上可能是一个安全问题。您的验证器可能希望去掉某些标记,如
脚本。
许多网站使用iframe来显示用户生成的标记内容,以避免出现此问题。无法说明这有多危险。不允许用户转储原始html。但我必须这样做:)我使用tiny mce允许用户生成粗体、斜体文本、列表和项目符号。但是,如果有坏人进入ss
并保存,这对我来说是一个大问题,必须找到一些解决方案。我确信如果有人输入alert(x)代码>不保存到数据库。仅仅是未关闭的标记会制造麻烦。如果有人使用iframe
和加载脚本的src
呢?或者可能是
或
或其他一些可能破坏页面的随机事件。stackoverflow如何允许这种情况?我可以在问题中保留未关闭的标记,并且不会破坏任何内容。Stackoverflow和StackExchange通常不使用Html.Raw
,也不使用AllowHtml
。用户输入被删除,符号用于表示粗体、斜体、代码块等。
@Html.Raw(Model.Description)