首页  >  问答  >  正文

如何修复 checkmarx 错误“...不受信任的数据直接嵌入到输出中...”

在使用 jQuery 的前端应用程序中,我有一个像这样的过于简化的代码(包括行号):

...
129: var buttonId = $('some-element').closest('...').siblings('...').attr('id');
130: $('#' + buttonId).focus();
...

在 checkmarx 中我收到此错误:

应用程序的 {method_name} 在 {file_name} 第 130 行使用 $ 将不受信任的数据嵌入到生成的输出中。这些不受信任的数据未经适当的清理或编码就直接嵌入到输出中,从而使攻击者能够将恶意代码注入到输出中。

那么 - 我应该在这里做什么? ...因为这个 ID 属性只是一个 ID,你知道...所以我不知道应该对其执行什么清理或编码。

P粉330232096P粉330232096241 天前303

全部回复(1)我来回复

  • P粉258083432

    P粉2580834322024-02-22 09:19:53

    我刚刚遇到了类似的问题。

    尝试替换:

    $('#' + buttonId).focus();
    

    与:

    jQuery('#' + buttonId).focus();
    

    不知何故,对于这种情况,扫描仪不知道变量 $jQuery 变量相同。

    尝试一下;o)

    回复
    0
  • 取消回复