html代码过滤器,angular2项目中html代码被安全过滤器筛掉的问题

本文探讨了在Angular 6中,如何通过DomSanitizer的bypassSecurityTrustHtml方法,安全地渲染可能包含HTML的字符串,避免XSS攻击。重点介绍了使用bypassSecurityTrustHtml pipe的实现和其带来的优势
摘要由CSDN通过智能技术生成

16.12.23 安全过滤器

需要渲染的代码如下:

3

对比使用[innerHtml]指令与原生innerHtml:

ef008e9c07de

解决方法:使用ng2服务DomSanitizer中的bypassSecurityTrustHtml方法

具体操作:使用pipe过滤器进行封装。

import { DomSanitizer } from '@angular/platform-browser';

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({

name: 'bypassSecurityTrustHtml'

})

export class BypassSecurityTrustHtmlPipe implements PipeTransform {

constructor(private domSanitizer: DomSanitizer){}

transform(html: string, args: any[]): any {

return this.domSanitizer.bypassSecurityTrustHtml(html);

}

}

好处是不影响源数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值