web-dev-qa-db-fra.com

Comment puis-je autoriser le contenu mixte (http avec https) à l'aide de la balise Meta content-security-policy?

J'oblige https à accéder à mon site Web, mais une partie du contenu doit être chargée sur http (par exemple, le contenu vidéo ne peut pas être sur https), mais les navigateurs bloquent la demande en raison de mixed-contents politique.

Après des heures de recherche, j'ai trouvé que je pouvais utiliser Content-Security-Policy mais je ne sais pas comment autoriser le contenu mixte avec.

<meta http-equiv="Content-Security-Policy" content="????">
15
Mustafa Dwekat

Tu ne peux pas.

CSP est là pour restreindre le contenu de votre site Web, pas pour assouplir les restrictions du navigateur.

Les sites https sécurisés donnent aux utilisateurs certaines garanties et il n'est pas vraiment juste de permettre ensuite au contenu http d'être chargé dessus (d'où les avertissements de contenu mixte) et vraiment pas juste si vous pouviez masquer ces avertissements sans le consentement de vos utilisateurs.

Vous pouvez utiliser CSP pour plusieurs choses pour faciliter une migration vers https, par exemple:

  1. Vous pouvez l'utiliser pour mettre automatiquement à niveau la demande http vers https (bien que la prise en charge du navigateur ne soit pas universelle). Cela vous aide au cas où vous auriez manqué de modifier un lien http en équivalent https. Cependant, cela suppose que la ressource peut être chargée via https et semble que vous ne pouvez pas les charger via https, ce n'est donc pas une option.

  2. Vous pouvez également utiliser CSP pour vous aider à identifier les ressources http sur votre site que vous avez manquées en signalant un message à un service que vous pouvez surveiller pour indiquer qu'une ressource http a été chargée. Cela vous permet d'identifier et de corriger les liens http vers https afin que vous n'ayez pas à dépendre de la mise à niveau automatique ci-dessus.

Mais ce que vous recherchez n'est pas non plus vraiment.

14
Barry Pollard

Vous ne devriez pas ... mais vous POUVEZ, la fonctionnalité est démontrée ici une image PNG HTTP convertie à la volée en HTTPS.

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

Il existe également une nouvelle API d'autorisations, décrite ici , qui permet à un serveur Web de vérifier les autorisations de l'utilisateur pour des fonctionnalités telles que la géolocalisation, Push, la notification et Web MIDI.

8
nodws