在使用 jQuery 的前端应用程序中,我有一个像这样的过于简化的代码(包括行号):
... 129: var buttonId = $('some-element').closest('...').siblings('...').attr('id'); 130: $('#' + buttonId).focus(); ...
在 checkmarx 中我收到此错误:
应用程序的 {method_name} 在 {file_name} 第 130 行使用 $ 将不受信任的数据嵌入到生成的输出中。这些不受信任的数据未经适当的清理或编码就直接嵌入到输出中,从而使攻击者能够将恶意代码注入到输出中。
那么 - 我应该在这里做什么? ...因为这个 ID 属性只是一个 ID,你知道...所以我不知道应该对其执行什么清理或编码。
P粉2580834322024-02-22 09:19:53
我刚刚遇到了类似的问题。
尝试替换:
$('#' + buttonId).focus();
与:
jQuery('#' + buttonId).focus();
不知何故,对于这种情况,扫描仪不知道变量 $
与 jQuery
变量相同。
尝试一下;o)