Angular 7 如何在静态函数中访问 Domsanitizer 对象
Angular 7 How To Access Domsanitizer Object inside a static function
我正在尝试解决 checkmarx 问题,该问题表明应用程序在生成的文件中嵌入了不受信任的数据 output.This 未经适当的清理或编码,不受信任的数据直接嵌入到输出中,使攻击者能够将恶意代码注入到output.So 为了防止这种情况,我正在使用 Angular 7 Domsanitizer。所以checkmarx错误出现在这一行
const search = new URLSearchParams(window.location.search)
我的完整代码-:
Utils.ts
import { DomSanitizer } from '@angular/platform-browser';
export class Utils {
static _sanitize:any;
constructor(private cookieService: CookieService,sanitizer: DomSanitizer) {
Utils._sanitize = sanitizer
}
static getParam(param: string): string | null {
if (window.location.search) {
const search = new URLSearchParams(Utils._sanitize.bypassSecurityTrustUrl(window.location.search));
const value = search.get(param);
return value && value !== 'null' && value !== 'undefined' ? value : null;
}
return null;
}
但是在这种情况下,我得到的错误是 bypassSecurityTrustUrl 没有被定义为在静态函数 DomSanitizer 中没有获得对象。
此外,我无法在参数中传递 Utils._sanitizer,因为完整项目中的许多文件都会访问此函数。请大家帮忙提点建议
您需要将 sanitizer: DomSanitizer
设为私有,以便在代码中访问它:private sanitizer: DomSanitizer
我正在尝试解决 checkmarx 问题,该问题表明应用程序在生成的文件中嵌入了不受信任的数据 output.This 未经适当的清理或编码,不受信任的数据直接嵌入到输出中,使攻击者能够将恶意代码注入到output.So 为了防止这种情况,我正在使用 Angular 7 Domsanitizer。所以checkmarx错误出现在这一行
const search = new URLSearchParams(window.location.search)
我的完整代码-:
Utils.ts
import { DomSanitizer } from '@angular/platform-browser';
export class Utils {
static _sanitize:any;
constructor(private cookieService: CookieService,sanitizer: DomSanitizer) {
Utils._sanitize = sanitizer
}
static getParam(param: string): string | null {
if (window.location.search) {
const search = new URLSearchParams(Utils._sanitize.bypassSecurityTrustUrl(window.location.search));
const value = search.get(param);
return value && value !== 'null' && value !== 'undefined' ? value : null;
}
return null;
}
但是在这种情况下,我得到的错误是 bypassSecurityTrustUrl 没有被定义为在静态函数 DomSanitizer 中没有获得对象。 此外,我无法在参数中传递 Utils._sanitizer,因为完整项目中的许多文件都会访问此函数。请大家帮忙提点建议
您需要将 sanitizer: DomSanitizer
设为私有,以便在代码中访问它:private sanitizer: DomSanitizer