允许和限制某些 HTML 字符
本文关键字:HTML 字符 | 更新日期: 2023-09-27 18:30:26
我制作了一个消息传递系统,用户可以在其中相互发送消息,他们也可以将文件作为消息附件发送(就像简单的电子邮件系统)。它允许用户发送HTML字符,他们将通过浏览器呈现,例如,如果他们输入
<b>Hello</b>
它将呈现为 你好
它工作正常,但是如果用户输入,我面临一个问题
<iframe src="anywebsite"><iframe>
然后它也将通过浏览器呈现。
我怎么能只允许浏览器只呈现某些特定字符 rest 将显示为普通文本我正在使用 Asp.net MVC3
在我的模型类中,我添加了
[AllowHtml]
属性以允许 HTML 字符
您可以使用 AntiXss 库:
例如:
@Html.Raw(Sanitizer.GetSafeHtmlFragment("<b>Hello</b>"))
@Html.Raw(Sanitizer.GetSafeHtmlFragment("<iframe src='"anywebsite'"><iframe>"))
第一个将以粗体呈现 Hello 文本,而第二个不会呈现任何内容,因为它被认为是不安全的。
你也可以看看AntiSamy项目。