Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk membetulkan ralat checkmarx "...data yang tidak dipercayai telah dibenamkan terus dalam output..."

Dalam aplikasi bahagian hadapan menggunakan jQuery, saya mempunyai kod yang terlalu ringkas seperti ini (termasuk nombor baris):

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

Dalam checkmarx saya mendapat ralat ini:

{method_name} aplikasi menggunakan $ pada {file_name} baris 130 untuk membenamkan data yang tidak dipercayai ke dalam output yang dijana. Data yang tidak dipercayai ini dibenamkan terus ke dalam output tanpa sanitasi atau pengekodan yang betul, membolehkan penyerang menyuntik kod hasad ke dalam output.

Jadi - apa yang perlu saya lakukan di sini? ...memandangkan atribut ID hanyalah ID, anda tahu...jadi saya tidak tahu apakah sanitasi atau pengekodan yang perlu dilakukan padanya.

P粉330232096P粉330232096241 hari yang lalu294

membalas semua(1)saya akan balas

  • P粉258083432

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

    Saya baru sahaja mengalami masalah yang sama.

    Cuba ganti:

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

    dengan:

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

    Entah bagaimana, untuk kes ini, pengimbas tidak tahu bahawa pembolehubah $jQuery adalah sama.

    Cubalah ;o)

    balas
    0
  • Batalbalas