首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消毒液与dangerouslySetInnerHtml的比较

消毒液与dangerouslySetInnerHtml的比较
EN

Stack Overflow用户
提问于 2020-10-08 10:53:24
回答 2查看 905关注 0票数 0

根据一些反应文件

不适当地使用innerHTML会使您面临跨站点脚本(XSS)攻击。对用户输入进行显示是出了名的错误,没有正确的消毒是造成互联网漏洞的主要原因之一。

如果使用不适当的杀菌剂和innerHTML,可能会暴露站点XSS (跨站点脚本)攻击。

另一方面,根据其他文档(如盖茨比消毒剂本身),建议:

防止XSS攻击的最直接方法是在危险地设置innerHTML字符串之前对其进行净化。幸运的是,有npm包可以实现这一点;包,如sanitize-htmlDOMPurify

什么是避免应用程序在反应中暴露于XSS攻击的最佳和最安全的方法,同时也避免使用不适当的消毒液?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-28 05:56:48

我认为最好、最安全和最优的方法,正如在评论(特别是科里·沃德)中所说的,就是尽可能避免使用dangerouslySetInnerHtml,只要在使用杀菌剂之前就可以。有一些令人惊奇的库,比如标价到-jsx,它扩展了dangerouslySetInnerHtml (呈现HTML)的好处,而不让web暴露于XSS攻击之下。

如果用例的唯一解决方案是使用dangerouslySetInnerHtml,那么解决方案必须使用消毒液,同时要记住,应该将其配置为保持样式、类和其他所需的行为,以避免丢失更改。

票数 0
EN

Stack Overflow用户

发布于 2020-10-08 10:59:52

这两种选择并不是相互对立的:

不当使用 of innerHTML会使您面临跨站点脚本(XSS)攻击。

强调“不当”。

在危险地设置innerHTML字符串之前对它进行消毒

在设置输入之前,使用一个已建立的和著名的库来清理输入是安全的,因为它不是innerHTML的一种不适当的使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64261021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档