官方 Angular Security Guide 谈到了 4 个安全上下文: HTML, Url, Style and Resource Url
。
每个人都负责清理相应类型的资源。
另外,DomSanitizer 服务中有 5 个方法(每个资源类型)
- bypassSecurityTrustHtml
- bypassSecurityTrustScript
- bypassSecurityTrustStyle
- bypassSecurityTrustUrl
- bypassSecurityTrustResourceUrl
但是,我在官方文档中没有发现任何提及
SecurityContext.NONE
的内容。它是代码中的 does exist。我假设它聚合了所有资源类型,这意味着被清理的资源可以是 HTML,其中包含样式和脚本。
是这样吗?有官方消息吗?
最佳答案
显然,如果我们将 domSanitizer.sanitize
与 SecurityContext.NONE
一起使用,它不会执行任何卫生操作,而 will return 则不会按原样执行值。
因此,这将允许带有嵌入 URL、样式和脚本的 HTML。
因此,强烈建议不要在您的代码中使用它。
关于Angular DomSanitizer-SecurityContext.NONE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44354604/