Un certificat SSL certifié (ou reconnu) par une autorité de confiance permet d’éviter le message d’erreur ci-dessus, que l’on peut obtenir si on auto-signe son certificat. Le « mixed content » peut aussi être vecteur de messages d’erreur sur les pages complétées d’un certificat signé.
Pourquoi un certificat doit être reconnu par une autorité de confiance ?
Le rôle du certificat est de garantir que le nom de domaine (ici securite-info.com) est bien ledit site. Si un pirate détourne le nom de domaine (par exemple en spoofant l’adresse ip du site sur votre machine), vous serez redirigé vers son site internet, et non le nôtre.
Concrètement :
L’adresse ip du site est 91.121.49.59, le DNS redirige alors securite-info.com vers cette adresse ip. Si votre ordinateur est la cible d’une attaque par spoof, il dira : securite-info.com a comme adresse ip x.x.x.x (qui se révélera être la sienne). En vous connectant sur securite-info.com, vous tomberez alors sur le site pirate.
Mais comme le site est certifié par une autorité de confiance, il ne pourrait pas se faire passer pour nous !
Il pourrait imiter le certificat, mais ceci générerait une erreur comme nous l’avons vu plus haut. C’est là le but de la certification.
Qu’est-ce que le Mixed Content ?
Le « mixed content » ou contenu mixte est le fait de contenir dans une même page, du contenu sécurisé (https) et du contenu non sécurisé (http).
J’ai volontairement importé une image non sécurisée sur une page. Si on regarde dans la barre d’adresse, le navigateur nous informe que la page n’est pas totalement sécurisée : “connexion partiellement chiffrée“.
Certaines parties de la page que vous visionnez n’ont pas été chiffrées avant d’être transmises sur Internet.
Les informations envoyées sur Internet sans chiffrement peuvent être vues par d’autres personnes durant leur transit.
Pour la personne qui visite votre site, cela peut être dérangeant, surtout si vous vendez sur ce site : cela n’inspire pas confiance, quand bien même vous seriez de bonne foi et n’auriez pas fait attention au chiffrement des images.
Le mixed-content empêche d’avoir un cadenas HTTPS vert sur son site !
C’est le plus important et c’est pourquoi vous devez supprimer le contenu mixte de vos pages web. La personne qui arrive sur votre site internet doit pouvoir voir que le site internet est totalement sécurisé.
En cas de contenu mixte, le navigateur n’affiche pas d’erreur mais le https:// est grisé.
Détecter et supprimer le mixed content
Pour vous, webmaster, il est primordial de supprimer le contenu mixte de toutes vos pages. On parle ici des images, mais aussi des scripts utilisés dans vos pages.
La détection du contenu mixte est plutôt simple.
- Clic-droit sur la page, examiner l’élément, puis rendez-vous dans la console
- Ou CTRL+MAJ+k sous Mozilla Firefox
- Ou CTRL+MAJ+j sous Chrome / Chromium
Rechargez la page, et des lignes rouges comme celles-ci devraient s’afficher. À vous de supprimer ou de remplacer le document en question.
Supprimer le mixed-content en une ligne de code SQL
On peut automatiser tout cela très simplement via la base de données, voici la commande à taper (sous WordPress), cependant vous trouverez sans doute les commandes correspondantes à votre CMS sur Google.
Supprimer le mixed-content sous WordPress avec MySQL
UPDATE `wp_posts` SET `post_content`= REPLACE(`post_content`, 'http://www.cubis-helios.com', 'https://www.cubis-helios.com');
Remplacera tout le contenu avec “http://www.cubis-helios.com” en “https://www.cubis-helios.com”.