在使用 jQuery 的前端應(yīng)用程式中,我有一個像這樣的過度簡化的程式碼(包括行號):
... 129: var buttonId = $('some-element').closest('...').siblings('...').attr('id'); 130: $('#' + buttonId).focus(); ...
在 checkmarx 中我收到此錯誤:
應(yīng)用程式的 {method_name} 在 {file_name} 第 130 行使用 $ 將不受信任的資料嵌入到產(chǎn)生的輸出中。這些不受信任的資料未經(jīng)適當(dāng)?shù)那謇砘蚓幋a就直接嵌入到輸出中,使攻擊者能夠?qū)阂獬淌酱a注入輸出中。
那麼 - 我應(yīng)該在這裡做什麼? ....因為這個 ID 屬性只是一個 ID,你知道...所以我不知道應(yīng)該對其執(zhí)行什麼清理或編碼。
我剛剛遇到了類似的問題。
嘗試替換:
$('#' + buttonId).focus();
與:
jQuery('#' + buttonId).focus();
不知何故,對於這種情況,掃描器不知道變數(shù) $
與 jQuery
變數(shù)相同。
嘗試;o)