¿Qué es un script en línea?

0

Por alguna razón, Google no pudo darme la respuesta fácilmente ...

Estaba leyendo una publicación de Google sobre la inseguridad de las Políticas de seguridad de contenido implementadas actualmente ( ¡CSP está muerto, viva! ¡CSP! Sobre la inseguridad de las listas blancas y el futuro de la política de seguridad de contenido ) Para entender completamente, quiero estar absolutamente claro de toda la terminología para que, aunque esto pueda sonar como un Una pregunta simple, la respuesta me ayudará con mi aprendizaje de cómo mitigar las vulnerabilidades de XSS.

    
pregunta ellefc 05.09.2016 - 15:20
fuente

2 respuestas

5

Básicamente, todo lo que se ejecuta sin la necesidad de incluir un archivo separado.

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

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

La razón por la que el documento menciona esto es que este fragmento de código no se puede validar como "seguro", sin ejecutarlo (o realizar un análisis de código). Cuando solo permite secuencias de comandos por incluye ( <script src="myscripts.js"></script> ), el navegador puede decidir si desea cargar la secuencia de comandos según la respuesta y los encabezados de CSP. Lo mismo es cierto para los archivos CSS. Este es un esfuerzo para prevenir el código malicioso. ejecución.

    
respondido por el Yorick de Wid 05.09.2016 - 15:27
fuente
3

Un script en línea es un script que no se carga desde un archivo externo, sino que está incrustado dentro de HTML.

Por ejemplo, estos son scripts en línea:

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

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

Sin embargo, estos no son scripts en línea, son scripts externos:

<script src="http://example.com/script.js"></script><scriptsrc="/script.js"></script>
    
respondido por el tim 05.09.2016 - 15:28
fuente

Lea otras preguntas en las etiquetas