Ci sono 3 problemi:
Errori di Console è dimostrato non CSP-correlati. "403 Forbidden" significa che non hanno accesso alle relative Url. "'X-Frame-Options' per 'negare'" significa che si tenta di incorporare iframe ma quella pagina non consente l'incorporamento di via X-Frame-Options: "DENY"
Intestazione HTTP.
Formato errato di Nginx add_header
. Dovrebbe assomiglia (prestare attenzione alle virgolette - always
parola chiave deve essere messo fuori il CSP impostazioni):
add_header Content-Security-Policy "default-src 'self'..." always;
Sbagliato il formato di CSP host fonti. Host-fonti .youtube.com
non deve contenere un leader .
dot:
youtube.com
permetterà di caricare le risorse da http(s)://youtube.com e *.youtube.com
permetterà di risorse dal sottodomini di youtube.com.
Così il vostro sintatticamente corretto CSP dovrebbe apparire:
add_header Content-Security-Policy "\
default-src 'self' 'unsafe-inline' https://stackpath.bootstrapcdn.com\
https://fonts.googleapis.com infobip.com ws://infobip.com wss://infobip.com youtube.com\
https://cdn.jsdelivr.net http://www.w3.org;\
connect-src 'self' infobip.com wss://infobip.com ws://*.infobip.com\
wss://livechat-fr.infobip.com/chat/web/proxy/ https://doubleclick.net;\
img-src 'self' data: https://openstreetmap.org;\
" always;
Nota che:
- wss://livechat-fr.infobip.com/chat/web/proxy/492/hybzmnjl/websocket - non includono grassetto percorso-parte a CSP, perché è cambiato ogni volta.
- Lo schema-fonti
wss:
copre qualsiasi host-fonti di tale regime (ad esempio wss://sito.com/websocket). Così ho eliminato il regime-fonti e sinistra host fonti.
- Ho cancellato alcuni non supportata da fonti, per esempio
'unsafe-inline'
nel connect-src
.
- Nginx dovrebbe sostenere una barra rovesciata
\
come interruzione di riga, quindi l'ho usato perché è difficile mantenere la CSP in una riga. Controllare non Nginx versione supporta questa funzione.
Nota 2: il CSP può bloccare alcune fonti - basta aggiungere loro di opportune direttive.
Nota 3: Considerare la possibilità di spostare le fonti dell' default-src
direttiva per la script-src
+ style-src
+ font-src
direttive. Perché, per ora, si permette effettivamente 'unsafe-inline'
nel scrit-src
così il CSP non protegge contro XSS. Sarà anche difficile da gestire CSP in futuro, poiché le fonti sono mescolati in una direttiva.