Avere una politica di sicurezza dei contenuti sul proprio sito Web è un buon modo per fornire un ulteriore livello di sicurezza sul proprio sito.
Ho una politica di sicurezza del contenuto che funziona comeprevisto su desktop, ma interrompe il sito su dispositivo mobile (safari). La politica di sicurezza del contenuto si trova all'interno dei meta tag. Sto usando nonces e hash. Sul cellulare ricevo l'errore affermando che si è rifiutato di eseguire script inline perché viola la direttiva Content Security Policy che include hash e non. L'errore dice anche che ho bisogno di un hash o nonce nel codice per eseguire il codice, ma sono già presenti lì, e questo è come funziona bene sul desktop.Il problema è che sul cellulare si sta comportando come se gli hash e i nons non esistevano, ogni consiglio è apprezzato.
risposte:
1 per risposta № 1In CSP, se includi un nonce per script-src
o style-src
, unsafe-inline
sarà ignorato se il browser comprende i nonces. Pertanto, per essere compatibile con i browser meno recenti che non comprendono CSP2 (ad esempio, Safari su iOS 9 e versioni precedenti), includere sia il tuo nonce AND unsafe-inline
.
I nuovi browser seguiranno il nonce e ignoreranno il unsafe-inline
. I browser più vecchi non capiranno il nonce e quindi ritorneranno al unsafe-inline
.