允许和限制一些HTML字符

时间:2012-04-06 07:33:37

标签: c# asp.net-mvc-3

我制作了一个消息系统,用户可以在其中发送消息,他们也可以在消息中将文件作为附件发送(就像简单的电子邮件系统一样)。它允许用户发送HTML字符,它们将通过浏览器呈现,例如,如果他们进入

  

<b>Hello</b>

它将呈现为  您好

它工作正常,但如果用户输入

,我将面临一个问题
<iframe src="anywebsite"><iframe>

然后它也会被浏览器呈现。

我如何只允许某些特定字符由浏览器呈现,其余部分将显示为普通文本 我使用的是Asp.net MVC3

在我的模特课中,我添加了 [AllowHtml]属性允许HTML字符

1 个答案:

答案 0 :(得分:2)

您可以使用AntiXss library

例如:

@Html.Raw(Sanitizer.GetSafeHtmlFragment("<b>Hello</b>"))
@Html.Raw(Sanitizer.GetSafeHtmlFragment("<iframe src=\"anywebsite\"><iframe>"))

第一个将以粗体显示Hello文本,而第二个不会呈现任何内容,因为它不被认为是安全的。

您还可以结帐AntiSamy project