微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Angular 7 如何在静态函数中访问 Domsanitizer 对象

如何解决Angular 7 如何在静态函数中访问 Domsanitizer 对象

我正在尝试解决 checkmarx 问题,即应用程序在生成输出中嵌入了不受信任的数据。这些不受信任的数据未经适当的清理或编码直接嵌入到输出中,使攻击者能够将恶意代码注入到输出中。所以防止这种情况我正在使用 Angular 7 Domsanitizer。所以checkmarx错误出现在这一行

const search = new URLSearchParams(window.location.search)

我的完整代码-:

实用工具.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 对象。 此外,我无法在 params 中传递 Utils._sanitizer ,因为此函数可被完整项目中的许多文件访问。请帮助并提出一些建议

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。