來自tutorial爲什麼React.js的API警告不要插入原始HTML?
但是有一個問題!我們在 瀏覽器中呈現的評論如下所示:「
<p>This is <em>another</em> comment</p>
」。我們希望那些標籤 實際上呈現爲HTML。這是React保護您免受XSS攻擊。有一個辦法讓周圍 但框架警告您不要使用它:
...
<span dangerouslySetInnerHTML={{__html: rawMarkup}} />
這是一個特殊的API,故意讓人難以插入原始的HTML,但對於攤牌,我們將利用這個後門。
請記住:通過使用此功能,您將依靠攤牌來保證安全。
因此,存在一個用於插入原始HTML的API,但方法名稱和文檔都對此發出警告。使用這個安全嗎?例如,我有一個聊天應用程序,它將Markdown註釋轉換爲HTML字符串。 HTML代碼片段由Markdown轉換器在服務器上生成。我相信轉換器,但我不確定是否有任何方法讓用戶精心製作Markdown來利用XSS。還有什麼我應該做的,以確保這是安全的?