来自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。还有什么我应该做的,以确保这是安全的?