Une page comporte du contenu mixte lorsque son code HTML initial est chargé via une connexion HTTPS sécurisée, mais que d'autres ressources (telles que des images, des vidéos, des feuilles de style et des scripts) sont chargées via une connexion HTTP non sécurisée. Ce nom fait référence au mélange de contenu HTTP et HTTPS sur une seule page.
Demander des sous-ressources à l'aide du protocole HTTP non sécurisé affaiblit la sécurité de la page, car ces requêtes sont vulnérables aux attaques sur le chemin, dans lesquelles un pirate informatique écoute une connexion réseau et consulte ou modifie la communication entre deux parties. À l'aide de ces ressources, les pirates informatiques peuvent suivre les utilisateurs et remplacer le contenu d'un site Web. Dans le cas d'un contenu mixte actif, ils peuvent prendre le contrôle total de la page, et pas seulement des ressources non sécurisées.
Bien que de nombreux navigateurs envoient des avertissements de contenu mixte à l'utilisateur, le rapport est souvent trop tardif: les requêtes non sécurisées ont déjà été effectuées et la sécurité de la page est compromise.
La plupart des navigateurs bloquent désormais les contenus mixtes pour des raisons de sécurité. Remplacez les requêtes de contenu non sécurisé par du contenu sécurisé pour vous assurer que votre page continue de se charger correctement.
Les deux types de contenus mixtes
Il existe deux types de contenus mixtes: actifs et passifs.
Les contenus mixtes passifs, y compris les images, les vidéos et les contenus audio, n'interagissent pas avec le reste de la page. Par conséquent, une attaque de l'intercepteur est limitée dans ce qu'elle peut faire si elle intercepte ou modifie ce contenu.
Le contenu mixte actif interagit avec la page dans son ensemble. Cela inclut les scripts, les feuilles de style, les iFrames et tout autre code que le navigateur peut télécharger et exécuter. Les attaques sur le contenu mixte actif permettent à un pirate informatique de faire presque tout ce qu'il veut sur la page.
Contenu mixte passif
Les contenus mixtes passifs présentent moins de risques que les contenus mixtes actifs, mais ce risque existe toujours. Par exemple, un pirate informatique peut:
- Interception des requêtes HTTP pour les images de votre site, et remplacement ou remplacement de ces images.
- Remplacez les images des boutons pour éviter que les utilisateurs les confondent et, par exemple, suppriment du contenu qu'ils avaient l'intention d'enregistrer.
- Défigurer votre site en remplaçant vos images par du contenu pornographique
- Remplacez vos images de produits par des annonces pour d'autres produits.
Même si le pirate informatique ne modifie pas le contenu de votre site, il peut suivre les utilisateurs via des requêtes de contenu mixtes. Ils peuvent également indiquer les pages qu'un utilisateur consulte et les produits qu'il regarde en fonction des images ou d'autres ressources chargées par le navigateur.
Si du contenu mixte passif est présent, la plupart des navigateurs indiquent dans la barre d'adresse que la page n'est pas sécurisée, même si la page elle-même est chargée via HTTPS. Vous pouvez observer ce comportement dans cette démonstration.
Jusqu'à récemment, le contenu mixte passif était chargé dans tous les navigateurs, car le bloquer aurait endommagé de nombreux sites Web. Cela commence à changer, il est donc essentiel de mettre à jour tous les contenus mixtes de votre site.
Dans certains cas, Chrome met automatiquement à niveau le contenu mixte passif. Cela signifie que si un composant a été codé en dur en tant que composant HTTP, mais qu'il est disponible via HTTPS, le navigateur charge la version HTTPS. Si aucune version sécurisée n'est disponible, le composant ne se charge pas.
Chaque fois que Chrome détecte un contenu mixte ou met à niveau automatiquement un contenu mixte passif, il consigne des messages détaillés dans l'onglet Problèmes de DevTools pour vous aider à résoudre votre problème spécifique.

Contenu mixte actif
Les contenus mixtes actifs représentent une menace plus importante que les contenus mixtes passifs. Un pirate informatique peut intercepter et réécrire du contenu actif, et s'en servir pour prendre le contrôle total de votre page ou même de l'intégralité de votre site Web. Cela leur permet de modifier n'importe quel aspect de la page, y compris d'afficher un contenu différent, de voler les mots de passe ou d'autres identifiants de connexion des utilisateurs, de voler les cookies de session des utilisateurs ou de rediriger l'utilisateur vers un site entièrement différent.
Étant donné que les risques liés au contenu mixte actif sont très élevés, la plupart des navigateurs bloquent déjà ce type de contenu par défaut pour protéger les utilisateurs, mais le comportement varie selon les fournisseurs et les versions de navigateur.
Cette démonstration présente des exemples de contenu mixte actif. Chargez l'exemple via HTTP pour voir le contenu bloqué lorsque vous chargez l'exemple via HTTPS. Le contenu bloqué est également détaillé dans l'onglet Problèmes de DevTools.

Spécifications sur le contenu mixte
Les navigateurs suivent la spécification sur les contenus mixtes, qui définit les catégories de contenus pouvant être bloqués de manière facultative et de contenus bloquants.
Une ressource est considérée comme un contenu pouvant être bloqué facultativement "lorsque le risque d'autoriser son utilisation en tant que contenu mixte est plus important que le risque de casser des parties importantes du Web". Il s'agit d'un sous-ensemble du contenu mixte passif.
Tout contenu mixte qui n'est pas facultatif à bloquer est considéré comme bloquable et doit être bloqué par le navigateur.
Ces dernières années, l'utilisation du protocole HTTPS a considérablement augmenté et est devenue le protocole par défaut sur le Web. Les navigateurs peuvent ainsi plus facilement envisager de bloquer tous les contenus mixtes, même les types de sous-ressources définis dans la spécification sur les contenus mixtes comme bloquables de manière facultative.
Anciens navigateurs
Certains visiteurs peuvent utiliser des navigateurs plus anciens. Les différentes versions de navigateurs de différents fournisseurs traitent les contenus mixtes différemment. Dans le pire des cas, les anciennes versions et navigateurs ne bloquent aucun contenu mixte, ce qui n'est pas sûr pour l'utilisateur.
En chargeant toutes vos ressources de manière sécurisée et en corrigeant les problèmes de contenu mixte, vous vous assurez que votre contenu est visible et protégez les utilisateurs contre les contenus dangereux que les anciens navigateurs ne bloquent peut-être pas.