Che cos'è uno script inline?

0

Per qualche motivo, Google non ha potuto darmi la risposta facilmente ...

Stavo leggendo una pubblicazione di Google sull'insicurezza dei criteri di sicurezza del contenuto attualmente implementati ( CSP è Dead, Long Live CSP! Sull'insicurezza delle whitelist e il futuro della politica di sicurezza dei contenuti ) Per comprendere appieno, voglio essere assolutamente chiaro di tutta la terminologia, quindi mentre questo può sembrare un semplice domanda, la risposta aiuterà con l'apprendimento della mitigazione delle vulnerabilità XSS.

    
posta ellefc 05.09.2016 - 15:20
fonte

2 risposte

5

Sostanzialmente tutto ciò che viene eseguito senza la necessità di includere un file separato.

<script>
document.write('Hi, I am inline');

function myFunction() {
    console.log('So am I')
}
</script>

Il motivo per cui la carta menziona questo è che questa parte di codice non può essere convalidata come "sicura", senza eseguirla (o eseguire l'analisi del codice). Quando solo consenti gli script di include ( <script src="myscripts.js"></script> ) il browser può decidere se caricare lo script in base alla risposta e alle intestazioni CSP. Lo stesso vale per i file CSS. Questo è uno sforzo per prevenire il codice dannoso esecuzione.

    
risposta data 05.09.2016 - 15:27
fonte
3

Uno script inline è uno script che non viene caricato da un file esterno, ma incorporato in HTML.

Ad esempio, questi sono script inline:

<script>alert(1);</script>

<img src=x onerror=alert(1)>

Questi tuttavia non sono script inline, sono script esterni:

<script src="http://example.com/script.js"></script><scriptsrc="/script.js"></script>
    
risposta data 05.09.2016 - 15:28
fonte