Comment remédier au contenu non sécurisé de votre site

HTTP est un protocole qui transmet des données d'un serveur web à votre navigateur. Le protocole HTTP ne sécurise pas vos données, laissant votre connexion à la merci de pirates potentiels qui cherchent à voler vos informations.

Lorsque vous visitez une page via une connexion HTTPS, vous verrez une icône de cadenas dans la barre d'adresse. Le HTTPS garantit que toutes les requêtes entre le serveur et le navigateur web sont cryptées, ce qui protège les données transmises contre l'interception par des tiers.

Le contenu non sécurisé se produit lorsqu'une page HTTPS inclut du contenu HTTP, ce qui signifie que le site web n'est que partiellement sécurisé. On parle alors de contenu "mixte".

Comment déterminer si une page présente du contenu mixte ?

Dans votre barre d'adresse, vous verrez une icône de cadenas, qui indique si la page contient du contenu mixte.

: Un cadenas apparaît lorsque vous visitez une page web dont tout le contenu est sécurisé par le protocole https.

: Un cadenas avec une ligne rouge indique que la page a un contenu actif mixte qui n'est pas bloqué. Cela signifie que la page n'est pas sécurisée, car vos données personnelles pourraient être vulnérables aux agresseurs.

: Un cadenas gris avec un triangle orange ou jaune indique que le navigateur ne bloque pas les contenus passifs non sécurisés, tels que les images ou les vidéos. Il s'agit d'un avertissement indiquant que le site n'est pas entièrement sécurisé. Les pirates pourraient être en mesure de manipuler certaines parties de la page, mais ils ne devraient pas pouvoir voler vos données personnelles.

Types de contenu mixte

Tel que mentionné, il existe deux types différents de contenu mixte : le contenu mixte passif et le contenu mixte actif. La principale différence entre les deux est le risque encouru si les données étaient compromises.

Contenu mixte passif

Le contenu passif mixte est un contenu accessible par HTTP via une page web HTTPS. Le risque est considéré comme "passif" lorsqu'il ne peut pas modifier le contenu de la page elle-même.

Voici quelques exemples de requêtes HTTP qui passent pour du contenu passif d'une page web:

  • L'attribut src d'une <img>
  • L'attribut src d'une <audio>
  • L'attribut src d'une <video>
  • Les sous-ressources d'un <object> lorsqu'un <object> effectue des requêtes HTTP

Si un site comporte un avertissement de contenu mixte passif, il y a moins de danger et, au pire, les images pourraient être manipulées ou les cookies des utilisateurs pourraient être volés.

Contenu mixte actif

Le contenu mixte actif désigne tout contenu qui peut accéder au modèle d'objet de document de la page HTTPS. Ce niveau d'accès signifie qu'un attaquant pourrait modifier le comportement de la page HTTPS, en y introduisant du code malveillant ou en volant des données sensibles à l'utilisateur.

  • L'attribut src d'un <script>
  • L'attribut href d'un <link>
  • L'attribut src d'un <iframe>
  • Les requêtes XMLHttpRequest
  • Les requêtes fetch()
  • La présence de la valeur <url> utilisée à l'intérieur du CSS
  • L'attribut de données de <object>
  • L’attribut url de Navigator.sendBeacon

Le contenu mixte actif est très vulnérable aux attaques. Il peut entraîner le phishing, les renvois vers des sites malveillants et le vol de données sensibles.

Exemples concrets de contenu mixte

Un navigateur peut classer plusieurs types de contenu comme étant non sécurisés:

  • Images non sécurisées
  • Audio non sécurisé
  • Liens CSS non sécurisés
  • JavaScript non sécurisé
  • Iframes non sécurisées
  • Formulaires non sécurisés
  • Redirection vers HTTP/S
  • Images CSS non sécurisées
  • Importations non sécurisées
  • Images sans script non sécurisées

Comment trouver le contenu non sécurisé

La première étape est de trouver le contenu qui cause l'erreur !

Si vous êtes à l'aise en matière de codage, ces instructions utiles de Google vont vous guider dans la recherche et la correction de contenu mixte dans votre code source.

Sinon, vous pouvez vous servir d'un outil comme Why No Padlock? pour repérer le contenu non sécurisé.

Pour examiner votre site web :

  1. Entrez votre URL HTTPS dans le champ Secure Address
  2. Cliquez sur Test Page

Une fois le balayage terminé, vous verrez un rapport sur le contenu de votre page web. Toute erreur détectée est affichée sous Mixed Content - Errors.

Corriger les erreurs de contenu non sécurisé (ou contenu mixte)

Maintenant que vous avez identifié le(s) fichier(s) à l'origine du contenu non sécurisé de votre site, vous pouvez procéder à la correction de chaque erreur.

Attention

Avant d'effectuer toute modification, veuillez vous assurer que vous avez à portée de main une sauvegarde récente de votre site web et de la base de données MySQL associée. En fonction de votre service, notre sauvegarde quotidienne pourrait être disponible dans votre cPanel (consultez ce lien).

Travailler directement avec le code source

Vous avez plusieurs options :

  • Modifier simplement le lien dans votre code source de http:// à https://. La ressource devra être disponible via HTTPS pour que cette méthode fonctionne
  • Télécharger le fichier sur votre site web, au lieu de créer un lien vers un autre site
  • Créer un lien vers le contenu via un hôte plus sécurisé
  • Supprimer complètement le fichier de votre site

Si vous utilisez WordPress

Voici les principales étapes à suivre, afin de s'assurer que WordPress est prêt pour le https, sans erreurs de contenu mixte.

    1. Ouvrez le tableau de bord WordPress, allez dans Réglages > Général. Ensuite, assurez-vous que l'adresse WordPress (URL) et l'adresse du site (URL) sont toutes deux définies sur https://yourwebsite.com.

      Une fois terminé, cliquez sur le bouton "Enregistrer les modifications" en bas de l'écran. Maintenant, chaque URL de votre site WordPress devrait être desservie par HTTPS.

      Remarque

      Après avoir modifié ce paramètre, vous serez automatiquement déconnecté du tableau de bord. Pour vous connecter à l'avenir, vous devrez accéder à votre tableau de bord en utilisant le lien https.
    2. Trouvez et remplacez toutes les URL HTTP :

Option 1 : Vous pouvez utiliser une extension appropriée pour trouver et remplacer les liens automatiquement.

Option 2 : Utilisez "Why No Padlock ?” ( voir ci-dessus) pour repérer les erreurs. Ensuite, à l'aide de l'Editeur de thèmes, trouvez et remplacez les URL identifiées "http://" par "https://".

Option 3 : Trouvez manuellement toutes les URL externes codées "http://" dans vos fichiers de thème, et remplacez-les par "https://".

Voici quelques exemples typiques :

      • Une extension permettant de se connecter à un fichier JavaScript via HTTP : http://example1.com/wp-content/plugins/the-plugin/plugin.js
      • Un fichier image non sécurisé dans le thème actif : http://example2.com/wp-content/themes/theme/assets/images/icon.png
      • Chargement incorrect des polices de Google : http://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700

Remarque

Si vous utilisez une extension, assurez-vous qu'elle prend en charge la sérialisation de tableaux PHP MySQL ; sinon les URL stockées dans un tableau sérialisé seront invalidées, car les dimensions du tableau auront changé. Par exemple, http://example.com contient 18 caractères et https://example.com contient 19 caractères. Une simple requête MySQL ne suffit pas pour remplacer correctement l'URL si elle est stockée dans un tableau.

Des renseignements généraux sur la conversion de votre site web en une version sécurisée pourraient vous être fournis dans le cadre de notre service de soutien standard. Pour des réponses plus détaillées, ou pour nous demander d'effectuer cette conversion pour vous, consultez les conditions générales de notre Service d'aide aux webmasters.

Est-ce que cet article vous a aidé?