0

调用 API 获取数据时获取 XSS 漏洞。所以试图添加DOMSANITIZER,但它失败了。尝试以下代码,请建议我解决方案。

 this.http.get(this.domSanitizer.bypassSecurityTrustUrl(dataUrl),{headers:headers}).subscribe(response => {
      this.persons = response.data.map(x=>({...x,check:false,test:x.firstName}));
      this.dtTrigger.next();
    });

堆栈闪电战

4

1 回答 1

1

您可以通过以下方式在使用 API 的同时使用 DOMSANITIZER。

  1. 导入这些:
    import {
      Component,
      OnInit,
      ViewChild,
      SecurityContext,
    } from '@angular/core';
    
    import {DomSanitizer} from '@angular/platform-browser';
  1. 在您使用它的项目中使用以下代码:
const dataUrl = this.domSanitizer.sanitize(
      SecurityContext.RESOURCE_URL,
      this.domSanitizer.bypassSecurityTrustResourceUrl(
        'https://raw.githubusercontent.com/l-lin/angular-datatables/master/demo/src/data/data.json'
      )
    );

    this.http.get(dataUrl).subscribe((response) => {
      this.persons = response.data.map((x) => ({
        ...x,
        check: false,
        test: x.firstName,
      }));
      this.dtTrigger.next();
    });

重要的:

此代码正在处理您的 stackblitz 网址。

在此处输入图像描述

我也保存了,你可以去看看。https://stackblitz.com/edit/column-names-as-tooltip-wcw1f7?file=app%2Fapp.component.ts

于 2021-10-27T23:53:32.980 回答