Angular DomSanitizer - SecurityContext.NONE
Posted
技术标签:
【中文标题】Angular DomSanitizer - SecurityContext.NONE【英文标题】: 【发布时间】:2017-11-05 09:08:08 【问题描述】:官方 Angular Security Guide 谈到了 4 个安全上下文:html, Url, Style and Resource Url
。
每个人都负责清理相应类型的资源。
另外DomSanitizer服务中有5个方法(每种资源类型)
- bypassSecurityTrustHtml
- bypassSecurityTrustScript
- bypassSecurityTrustStyle
- bypassSecurityTrustUrl
- bypassSecurityTrustResourceUrl
但是,我没有在官方文档中找到任何提及 SecurityContext.NONE
的内容。它是代码中的does exist。
我假设它聚合了所有资源类型,这意味着被清理的资源可以是 HTML,其中包含样式和脚本。
是这样吗?有官方消息吗?
【问题讨论】:
【参考方案1】:显然,如果我们将domSanitizer.sanitize
与SecurityContext.NONE
一起使用,它将不会执行任何卫生操作,而will return 的值将保持不变。
因此,这将允许带有嵌入 URL、样式和脚本的 HTML。
因此强烈建议不要在您的代码中使用它。
【讨论】:
他们真的可以改进他们的文档... 太可怕了,这么久了还没有记录... 那……太可怕了。我原以为“无”的意思是“完全不受信任”,结果证明它的意思是“完全值得信赖”。以上是关于Angular DomSanitizer - SecurityContext.NONE的主要内容,如果未能解决你的问题,请参考以下文章
使用 DomSanitizer 绕过安全性后,安全值必须使用 [property]=binding
Angular 2:我如何将指令应用于净化的 html/innerhtml