Html 危险性西汀的替代品
我使用React构建一个存储文档的web应用程序。这些文件以HTML格式创建,然后存储在数据库中。为了在应用程序中显示它们,我使用Html 危险性西汀的替代品,html,reactjs,jsx,code-injection,tsx,Html,Reactjs,Jsx,Code Injection,Tsx,我使用React构建一个存储文档的web应用程序。这些文件以HTML格式创建,然后存储在数据库中。为了在应用程序中显示它们,我使用危险的HTML将HTML加载到div中 <div dangerouslySetInnerHTML={{__html: this.props.page.content}} /> 即使这样做效果很好,名称危险的SetinenerHTML建议更多地关注这种情况,但我想知道到底可以做些什么来保持足够的灵活性,以加载HTML并使其出现在web应用程序中。我相信
危险的HTML
将HTML加载到div
中
<div dangerouslySetInnerHTML={{__html: this.props.page.content}} />
即使这样做效果很好,名称
危险的SetinenerHTML
建议更多地关注这种情况,但我想知道到底可以做些什么来保持足够的灵活性,以加载HTML并使其出现在web应用程序中。我相信“危险”一词可以解决跨站点脚本的危险,也就是说,脚本可能被注入,执行有害代码
作为一种对策,我考虑在将HTML代码解析到div
之前清除它。解决这个问题的一个库是。另一种方法是使用将数据库中的HTML代码直接转换为React元素
这是正确的方法吗?或者有没有替代危险的HTML的方法?也许这些解析器可以满足你的需要
调用危险的HTML
,以确保您知道自己在做什么。除非您信任数据库中的代码,否则在不清理HTML代码的情况下,没有安全的方法可以实现这一点。看起来像的副本:的可能副本