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.
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.