web-dev-qa-db-fra.com

Contenu mixte dans Chrome et IE

Dans mon site compatible HTTPS, j'ai ajouté un iframe qui devrait afficher le contenu de mon autre site, mais il ne fonctionne pas sous https.

<iframe  src="//myothersite.com"></iframe>

Dans Firefox dernière version, tout fonctionne bien.

Dans Chrome, l'iframe n'est pas chargé et dans la console, je vois ces deux erreurs.

Mixed Content: The page at 'https://mysite' was loaded over HTTPS, but requested an insecure resource 'http://myothersite.com'. 
This request has been blocked; the content must be served over HTTPS.
Failed to load resource: net::ERR_CACHE_MISS

Dans IE, le contenu ne se charge pas correctement et un message d’alerte s’affiche. si je clique sur Autoriser le contenu non sécurisé, il se charge correctement.

La question qui se pose est la suivante: comment puis-je faire cela IE et Chrome comme dans Firefox (charger du contenu mixte sans aucune alerte)?

Remarque: je n'ai modifié aucun paramètre du navigateur.

24
cosset

En fait, Firefox a commencé à faire de même: Comment réparer un site Web avec un contenu mixte bloqué

Ca a du sens. Si l'utilisateur accède à un site à l'aide de HTTPS, il s'attend à bénéficier d'une expérience sécurisée et il risque de ne pas être au courant du chargement partiel de l'application par des connexions non sécurisées. C'est la raison pour laquelle le navigateur bloque une telle incohérence.

Vous devrez fournir HTTPS sur myothersite.com.

14
vtortola

Évidemment, il est préférable de ne pas avoir un contenu mixte pour empêcher les attaques MITM, mais pour ceux qui ne peuvent pas contrôler l'URL, cela devrait faire l'affaire

Changez le src = "http://linkToUrl.com" en

src = "// linkToUrl.com/script.js"

9
JisuKim82

Je suis désolé, ce n’est pas aussi technique que les autres réponses, mais j’ai eu le même problème pour relier jsquery de la sorte, et pour moi, le problème a été résolu en changeant simplement http:// en https://. Cela peut ne pas fonctionner, mais cela a fonctionné pour moi et cela pourrait fonctionner pour vous.

1
RallozarX

entrez la description de l'image ici

lorsque je définis l'URL: <a href="http://127.0.0.1:8080/download/1.txt"></a> à partir d'une requête https, il signale une erreur: Contenu mixte: La page sur 'https://127.0.0.1/index.html' a été chargée via HTTPS, mais une ressource non sécurisée 'http://127.0.0.1:8080/download/1.txt' a été chargée. 

This request has been blocked; the content must be served over HTTPS.
Failed to load resource: net::ERR_CACHE_MISS

quand j'ai ajouté le target="_blank" à l'url: <a target="_blank" href="http://127.0.0.1:8080/download/1.txt">, ça marche! , Ça marche! Il est bien connu que target="_blank" signifie que vous ouvrez le document lié dans une nouvelle fenêtre, un nouvel onglet ou une nouvelle demande!

1
Dang

J'ai d'autres complications avec CloudFlare, il ne se charge pas car le fichier a été mis en cache en tant que http. Allez simplement dans CloudFlare et "Purge Everything" dans l'onglet cache, ou bien activez le "Mode de développement".

0
morph85

Le problème est un contenu mixte, le navigateur ne nous permet pas de le faire.

Vous devez changer l'URL de:

http://example.com

à

//example.com
0
Andrea_dev