Javascript 选项卡在 HP fortify 扫描中导致严重错误 (XSS)

Javascript tabs cause a critical error (XSS) in HP fortify scan

我有一个 javascript 选项卡库,我一直在使用它一直很好,但是随着我们最近升级 Fortify,我们在 window.location 部分出现严重错误代码(编辑,应该提到这是原始代码,未被修改):

var b=window.location.href;

我们的第一次修改是:

var b = (escape(window.location.href.toString()));

当失败时,我们发现并尝试了以下方法:

var b = (encodeID(window.location.href.toString()));

function encodeID(s) {
    if (s==='') return '_';
    return s.replace(/[^a-zA-Z0-9.-]/g, function(match) {
    return '_'+match[0].charCodeAt(0).toString(16)+'_';
    });
}

但是 Fortify 的另一个 运行 仍然抛出严重错误。 也试过:

var b=encodeURIComponent(window.location.href);

仍然很关键。
有人想通过它吗?

@Carlos Mendieta 我同意你的看法。我认为 Fortify 在这里错误地报告了一个问题。您没有为 window.location.href 赋值,您只是在变量中设置值。关于安全堆栈交换 security stack exchange: JS code giving xss vulnerability 的讨论本质上是相同的。我会看看您是否可以调整 Fortify 以不报告此项目。