Heim > Fragen und Antworten > Hauptteil
In einer Front-End-Anwendung mit jQuery habe ich einen stark vereinfachten Code wie diesen (einschließlich Zeilennummern):
... 129: var buttonId = $('some-element').closest('...').siblings('...').attr('id'); 130: $('#' + buttonId).focus(); ...
In Checkmarx erhalte ich diesen Fehler:
Die {method_name} der Anwendung verwendet $ in {file_name} Zeile 130, um nicht vertrauenswürdige Daten in die generierte Ausgabe einzubetten. Diese nicht vertrauenswürdigen Daten werden ohne ordnungsgemäße Bereinigung oder Verschlüsselung direkt in die Ausgabe eingebettet, sodass Angreifer bösartigen Code in die Ausgabe einschleusen können.
Also – was soll ich hier tun? ... da das ID-Attribut nur eine ID ist, wissen Sie ... also weiß ich nicht, welche Bereinigung oder Codierung daran durchgeführt werden soll.
P粉2580834322024-02-22 09:19:53
我刚刚遇到了类似的问题。
尝试替换:
$('#' + buttonId).focus();
与:
jQuery('#' + buttonId).focus();
不知何故,对于这种情况,扫描仪不知道变量 $
与 jQuery
变量相同。
尝试一下;o)