content-security-policy allow all

El estándar, originalmente llamado Content Restrictions, fue propuesto por Robert Hansen en 2004,[4] implementado por primera vez en Firefox 4 y rápidamente recogido por otros navegadores. La versión 1 del estándar se publicó en 2012 como recomendación candidata del W3C[5] y rápidamente con otras versiones (Nivel 2) publicadas en 2014. A partir de 2015[actualización] se está desarrollando el borrador del Nivel 3 con las nuevas características que están siendo rápidamente adoptadas por los navegadores web[6].

Un número de frameworks de aplicaciones web soportan CSP, por ejemplo AngularJS[16] (de forma nativa) y Django (middleware).[17] Las instrucciones para Ruby on Rails han sido publicadas por GitHub.[18] Sin embargo, el soporte de los frameworks web sólo es necesario si los contenidos de CSP dependen de alguna manera del estado de la aplicación web, como el uso del origen nonce. De lo contrario, el CSP es más bien estático y puede ser entregado desde los niveles de la aplicación web por encima de la aplicación, por ejemplo en el equilibrador de carga o el servidor web.

Cada vez que un recurso solicitado o la ejecución de un script viola la política, el navegador lanzará una petición POST al valor especificado en report-uri[25] o report-to [26] que contiene los detalles de la violación.

ejemplo de content-security-policy

Los navegadores que no lo soportan siguen funcionando con servidores que lo implementan, y viceversa: los navegadores que no soportan CSP lo ignoran, funcionando como siempre, por defecto con la política estándar de mismo origen para el contenido web.

CSP hace posible que los administradores de servidores reduzcan o eliminen los vectores por los que se puede producir XSS especificando los dominios que el navegador debe considerar como fuentes válidas de scripts ejecutables.

Un navegador compatible con CSP sólo ejecutará los scripts cargados en los archivos fuente recibidos de esos dominios permitidos, ignorando todos los demás scripts (incluidos los scripts en línea y los atributos HTML de gestión de eventos).

La configuración de la política de seguridad de contenidos implica añadir la cabecera HTTP Content-Security-Policy a una página web y darle valores para controlar los recursos que el agente de usuario puede cargar en esa página.

Su política debe incluir una directiva de política default-src, que es una alternativa para otros tipos de recursos cuando no tienen políticas propias (para una lista completa, vea la descripción de la directiva default-src).

ejemplo de cabecera content-security-policy

El Cross-Site Scripting (XSS) es una vulnerabilidad de seguridad en la que un atacante coloca uno o más scripts maliciosos del lado del cliente en el contenido renderizado de una aplicación. Una política de seguridad de contenidos (CSP) ayuda a proteger contra los ataques XSS informando al navegador de su validez:

Las políticas son evaluadas por el navegador mientras se carga una página. El navegador inspecciona las fuentes de la página y determina si cumplen los requisitos de las directivas de seguridad del contenido. Cuando las directivas de la política no se cumplen para un recurso, el navegador no carga el recurso. Por ejemplo, considere una política que no permite scripts de terceros. Cuando una página contiene una etiqueta <script> con un origen de terceros en el atributo src, el navegador impide que se cargue el script.

Como mínimo, especifique las siguientes directivas y fuentes para las aplicaciones de Blazor. Añada directivas y orígenes adicionales según sea necesario. Las siguientes directivas se utilizan en la sección Aplicar la política de este artículo, donde se proporcionan ejemplos de políticas de seguridad para Blazor WebAssembly y Blazor Server:

cabecera content-security-policy

Los navegadores que no lo soportan siguen funcionando con servidores que lo implementan, y viceversa: los navegadores que no soportan CSP lo ignoran, funcionando como siempre, por defecto con la política estándar de mismo origen para el contenido web.

CSP permite a los administradores de servidores reducir o eliminar los vectores por los que puede producirse el XSS especificando los dominios que el navegador debe considerar como fuentes válidas de scripts ejecutables.

Un navegador compatible con CSP sólo ejecutará los scripts cargados en los archivos fuente recibidos de esos dominios permitidos, ignorando todos los demás scripts (incluidos los scripts en línea y los atributos HTML de gestión de eventos).

La configuración de la política de seguridad de contenidos implica añadir la cabecera HTTP Content-Security-Policy a una página web y darle valores para controlar los recursos que el agente de usuario puede cargar en esa página.

Su política debe incluir una directiva de política default-src, que es una alternativa para otros tipos de recursos cuando no tienen políticas propias (para una lista completa, vea la descripción de la directiva default-src).