Security / Performance warning: .html(content) automatically extracts and executes <script> tags via global eval – jQuery DOM_HTML_SCRIPT_EXEC

DOM_HTML_SCRIPT_EXEC

A differenza di 'innerHTML' nativo che non esegue i tag <script> iniettati, il metodo '$el.html(markup)' di jQuery estrae ed esegue via 'eval()' qualsiasi script presente nel markup, esponendo a vulnerabilità XSS o doppie inizializzazioni.

Cosa significa questo errore?

A differenza di 'innerHTML' nativo che non esegue i tag <script> iniettati, il metodo '$el.html(markup)' di jQuery estrae ed esegue via 'eval()' qualsiasi script presente nel markup, esponendo a vulnerabilità XSS o doppie inizializzazioni.

Messaggio originale

Security / Performance warning: .html(content) automatically extracts and executes <script> tags via global eval

Contesto e parole chiave

Alias

  • jQuery .html() executes script tags eval

Messaggi alternativi

  • iniezione tag script eseguita automaticamente da metodo html

Prodotti

  • jQuery Library (v1.x, v2.x, v3.x, v4.x)

Piattaforme

  • Linux
  • macOS
  • Qualsiasi Browser Web
  • Windows

Parole chiave

  • ajax
  • errore-jquery-html-script-execution-caveat
  • javascript
  • jquery
  • jquery.dom.html-script-tags-not-executed-eval-security
  • Manipolazione DOM e Animazioni

Cause possibili

Causa tecnica per Errore jQuery DOM: Esecuzione Automatica di Tag <script> in .html()

A differenza di 'innerHTML' nativo che non esegue i tag <script> iniettati, il metodo '$el.html(markup)' di jQuery estrae ed esegue via 'eval()' qualsiasi script presente nel markup, esponendo a vulnerabilità XSS o doppie inizializzazioni.

molto comune

Diagnosi

Diagnostica DOM o AJAX per Errore jQuery DOM: Esecuzione Automatica di Tag <script> in .html()

Verificare lo stato della variabile window.jQuery nella Console DevTools (F12) e ispezionare il tab Network per le chiamate AJAX.

Come leggere il risultato. Restituisce la versione attiva di jQuery e il numero effettivo di nodi DOM corrispondenti al selettore.

terminal
console.log(jQuery.fn.jquery); console.log($('.my-element').length);

Risoluzione

Risoluzione standard per Errore jQuery DOM: Esecuzione Automatica di Tag <script> in .html()

Difficoltà: facileRischio: basso

Applicare la correzione al codice o alla configurazione degli script jQuery nel frontend.

  1. Ispezionare la riga segnalata nella console del browser
  2. Correggere il selettore CSS, il passaggio dei parametri o la delegazione con .on()
  3. Ricaricare la pagina con cache svuotata (Ctrl+F5) per verificare la risoluzione

Domande frequenti

Come risolvere l'errore Errore jQuery DOM: Esecuzione Automatica di Tag <script> in .html() in jQuery?

A differenza di 'innerHTML' nativo che non esegue i tag <script> iniettati, il metodo '$el.html(markup)' di jQuery estrae ed esegue via 'eval()' qualsiasi script presente nel markup, esponendo a vulnerabilità XSS o doppie inizializzazioni.

Approfondimenti

Schede correlate