2017-10-10 2 views
1

Il me semble que la méta-balise Content-Security-Policy dans le contenu iframe empêche le chargement d'images dynamiques dans ma page principale. Ce problème concerne uniquement Firefox (version 56). Voici l'exemple:En-tête CSP dans les iframes firefox travaillant sur une page entière avec du contenu dynamique

Test.html

</html> 
    <head></head> 
    <body> 
    <form> 
     <input type="button" id="btn" value="GO" /> 
    </form> 
    <script type="text/javascript"> 
     document.getElementById('btn').onclick = function() { 
     src = 'https://www.google.ru/logos/doodles/2017/fridtjof-nansens-156th-birthday-5694774550986752-s.png', 
     img = document.createElement('img'); 
     img.src = src; 
     document.body.appendChild(img); 
    } 
    </script> 
    <img src="https://www.google.ru/logos/doodles/2017/fridtjof-nansens-156th-birthday-5694774550986752-s.png"/> 
    <iframe src="iframe.html"></iframe> 

    </body> 
</html> 

iframe.html

<html> 
    <head> 
    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src 'self' data:; script-src 'self' *.jquery.com 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; font-src 'self' data:;"></meta> 
    </head> 
    <body style="font-family: Arial; font-size: 13px;"> 
    <br> 
    </body> 
</html> 

Après avoir cliqué sur le bouton "GO" dans tous les autres navigateurs, vous pouvez voir des images ajoutées à la page, mais rien Firefox arrive et une erreur de la console affiche, en disant

contenu Politique de sécurité: les paramètres de la page bloquée la charge d'une ressource à https://www.google.ru/logos/doodles/2017/fridtjof-nansens-156th-birthday-5694774550986752-s.png ("fichier img-src: // données:").

Est-ce un bug? Y a-t-il une solution de contournement? Merci d'avance.

Répondre

4

Aller à Firefox Configuration en appuyant sur url « about: config » et recherche de security.csp et rendre les valeurs à « false » i.e. .. désactiver les drapeaux.

Voici capture d'écran:

enter image description here

Note - c'est juste une solution de contournement, car il rendra votre système moins sécurisé.

meilleure solution est de vérifier

  1. quel est votre tête csp et en-tête de changement à la politique appropriée.

    Voici le lien pour la compréhension csp stricte et politiques:

https://csp.withgoogle.com/docs/index.html