【发布时间】:2018-01-16 08:09:10
【问题描述】:
我从 html 代码的 API 字符串中获取,其中可能包含来自以下服务的嵌入视频:
- youtube.com,
- vimeo.com,
- dailymotion.com,
- prezi.com
如果我确定它足够安全,我可以将它们转换为受信任的 SafeHtml(以绕过 Angular 的消毒剂):
this.safeHtml = this._sanitizer.bypassSecurityTrustHtml(this.htmlFromApi);
然后将它放在这样的页面上:
<div [innerHtml]="safeHtml"></div>
问题:
我必须执行哪些检查以确保该字符串足够安全? (它不包含嵌入式脚本,并且只指向这四个站点之一,没有任何棘手的重定向)?
以某种方式将这些站点添加到 Angular 的 sanitizer 异常中是否有意义?如果是的话怎么办?
提前致谢!
附言我看到了这个类似的问题:How to check if string of HTML is safe? 但我希望有一些更新鲜和与 Angular 最佳实践相关的东西
【问题讨论】:
-
我的 2 美分。没有什么是真正安全的。我不会相信任何来源,但这取决于您的安全需求/限制。
标签: angular html-sanitizing angular-sanitizer