簡體   English   中英

如何從ASP.NET中的WYSIWYG編輯器安全地呈現HTML內容?

[英]How can I safely render HTML content from a WYSIWYG editor in ASP.NET?

安全編碼使用ASP.NET/MVC5中的WYSIWYG編輯器創建的內容輸出的最佳實踐是什么? 我希望與格式和布局等相關的標簽呈現為HTML,但同時避免XSS攻擊。 編輯者是Summernote,這並不重要。

顯然,這是非常不安全的:

@Html.Raw(Model.Content);

這是完全錯誤的:

@Model.Content

而Microsoft Sanitizer則反其道而行之,刪除了所見即所得編輯器添加的幾乎所有格式。

@Html.Raw(Microsoft.Security.Application.Sanitizer.GetSafeHtmlFragment(Model.Content))

是否有另一個內置或流行的庫可以使用?

AFAIK沒有這樣做的“最佳實踐”。 您正在與框架競爭。 MVC旨在將模型(包屬性)呈現到視圖(模板)中。

從理論上講,您可能能夠從所見即所得的輸出中剝離所有來自用戶輸入的內容(即可能導致XSS和SQL注入的內容),對這些片段進行清理,然后再放回去。我不會去做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM