El CSP es un protocolo de seguridad que previene la inyección de código malicioso, el cross-site scripting (XSS) y el clickjacking mediante la construcción de listas blancas en donde van a figurar los sitios externos con los cuales se va a permitir la inserción de código, por ejemplo ( ‘apis.google.com’) y prohibe el resto de los sitios no explicitados.
Esta es una de las directivas de seguridad encaradas por w3c.org, que son deseables que tu sitio cumpla.
Permitir Google Analytics, Google AJAX CDN y propio sitio
script-src 'self' www.google-analytics.com ajax.googleapis.com;
¿Cómo hacer para que tu sitio WordPress cumpla con CSP?
Puedes incluir el plugin WP Content Security Policy , que le agregará al navegador información sumamente importante, permitiendo al cliente cargar recursos solamente desde dominios confiables y bloqueará cualquier recurso o código que quiera insertarse desde otros dominios externos.
Para comenzar, agrega como fuente a tu propio sitio default-src de ‘self’. Y luego agregar los dominios externos permitidos. No utilices el comodín ‘*’ en todas las variantes, pues esto hará que cualquier código pueda ser insertado.
Lista de Referencia de Recursos
Valor Fuente | Ejemplo | Descripción |
---|---|---|
* |
img-src * |
El asterisco, permite a cualquier URL excepto datos: blob: filesystem: schemes. |
'none' |
object-src 'none' |
Previene la carga de recursos desde cualquier URL. |
'self' |
script-src 'self' |
Permite la carga de recursos desde el propio servidor origen (el mismo esquema, host y puerto). |
data: |
img-src 'self' data: |
Permite la carga de recursos, vía esquema de datos (ej. Base64 encoded images). |
domain.example.com |
img-src domain.example.com |
Permite la carga de recursos de sde ese específico dominio |
*.example.com |
img-src *.example.com |
Permite la carga de recursos desde cualquier subdominio de example.com . |
https://cdn.com |
img-src https://cdn.com |
Permite la cara de recursos, sólo sobre el protocolo HTTPS que concuerde con ese determinado dominio . |
https: |
img-src https: |
Permite la carga de recursos , solamente bajo el protocolo HTTPS para cualquier dominio. |
'unsafe-inline' |
script-src 'unsafe-inline' |
Permite el uso de fuentes inline en elementos como style attribute, onclick, o script tag bodies (depende del contexto aplicado a ello ) |
'unsafe-eval' |
script-src 'unsafe-eval' |
Permite código inseguro dinámico como JavaScript eval() |
Plugin | WP Content Security Policy
Fuente | Wikipedia ; Content-Security-Policy.com