允许和限制某些 HTML 字符

本文关键字:HTML 字符 | 更新日期: 2023-09-27 18:30:26

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

<b>Hello</b>

它将呈现为 你好

它工作正常,但是如果用户输入,我面临一个问题

<iframe src="anywebsite"><iframe>

然后它也将通过浏览器呈现。

我怎么能只允许浏览器只呈现某些特定字符 rest 将显示为普通文本我正在使用 Asp.net MVC3

在我的模型类中,我添加了
[AllowHtml]属性以允许 HTML 字符

允许和限制某些 HTML 字符

您可以使用 AntiXss 库:

例如:

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

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

你也可以看看AntiSamy项目。