web-dev-qa-db-fr.com

reporter le chargement de l'image / CSP: autoriser l'image intégrée

Mon site diffère du chargement d'img en définissant la valeur img src par JavaScript (à partir de la valeur img data-src). Afin de conserver du code HTML valide tant que l'URL n'est pas définie sur img src, je mets src dans une img incorporée intégrée comme ceci:

<img src="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="
data-src="URL-TO-REAL-IMAGE.png">

Cela fonctionne bien, mais affiche une erreur sur la console du navigateur (Firefox, Chrome):

Refusé de charger les données de l'image: image/png; base64, R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs = 'car il enfreint la directive suivante relative à la politique de sécurité du contenu: "default-src' self '*' unsafe-inline '". Notez que 'img-src' n'a pas été défini explicitement, donc 'default-src' est utilisé comme solution de secours.

'unsafe-inline' ne devrait-il pas permettre cela exactement? Je suis confus.

1
Marcus

Selon https://content-security-policy.com/ vous devez utiliser le CSP

img-src 'self' data:

Permet le chargement de ressources via le schéma de données (par exemple, des images codées en Base64).

unsafe-inline semble ne concerner que les sources JavaScript, pas les sources images.

0