有没有一种在 Angular 7 中嵌入 iframe 的安全方法?
Posted
技术标签:
【中文标题】有没有一种在 Angular 7 中嵌入 iframe 的安全方法?【英文标题】:Is there a safe way of embedding iframe in Angular 7? 【发布时间】:2020-02-14 02:59:11 【问题描述】:设置 iframe url 的唯一方法是执行this.domsanitizer.bypassSecurityTrustResourceUrl(url)
。但是像 veracode 这样的静态代码分析工具将此作为一个高漏洞问题提出来,我认为这是正确的。但是有没有办法像白名单一样安全地信任 url?
【问题讨论】:
【参考方案1】:如果您不控制 iframe 的内容,则它始终存在安全风险。如果不“绕过”一些清理过程并信任资源,根本无法在您的页面中使用 iframe。
也许你可以实现你自己的sanitizer 和 sanitize 方法来满足你的自定义需求,如果 url 的内容是你可以精确假设的内容。这将比仅仅信任它更安全,并且分析工具也可以这样做。
【讨论】:
【参考方案2】:您可以在 iframe 中使用sandbox attribute。
【讨论】:
沙盒实际上与清理它是一回事,除非你允许脚本等内容,这与绕过 Angular 中的清理相同以上是关于有没有一种在 Angular 7 中嵌入 iframe 的安全方法?的主要内容,如果未能解决你的问题,请参考以下文章
Angular Js中的JQuery数据库Ng-Click无法正常工作?