我有以下代码。转换方法的第一种情况(URL)是将URL括起来。我需要这个,因为我必须显示URL才能调用SSRS报告。
然后我在我的angular应用程序中有一个丰富的编辑器。因此,我的用户可以创建注释,这些注释以HTML代码保存在数据库中。所以我想在Angular中显示HTML div标签中呈现的注释。但是我想确定,没有可能进行XSS攻击。因此,如果我在Angular管道中使用此代码,是否可以防止XSS攻击,其他HTML标记是否已呈现?我不了解Angular(https://angular.io/api/platform-browser/DomSanitizer,https://angular.io/api/core/SecurityContext)中的官方文档
transform(html: any, type: string) {
let santizedHTML;
switch (type) {
case "URL": {
santizedHTML = this.sanitizer.sanitize(SecurityContext.URL, html);
return this.sanitizer.bypassSecurityTrustResourceUrl(santizedHTML);
break;
}
case "HTML": {
santizedHTML = this.sanitizer.sanitize(SecurityContext.HTML, html);
return this.sanitizer.bypassSecurityTrustResourceUrl(santizedHTML);
break;
}
}
}