Découvrez quelles ressources ne passent pas par HTTPS


92

J'ai un site ASP.NET qui devrait transporter complètement via HTTPS. Cependant, dans Google Chrome, je reçois un avertissement indiquant que la page comprend des ressources qui ne sont pas sécurisées. Comment puis-je savoir quelles sont ces ressources et pourquoi elles ne passeraient pas par HTTPS?




12
Chrome Devtools> onglet Réseau> cliquez avec le bouton droit sur un en-tête de colonne> cliquez sur "Scheme"
Costa

Ceci est également fréquemment observé lorsque les utilisateurs intègrent des images d'URL dans les publications de stackexchange, ils utilisent la version http au lieu de https.
jiggunjer

Je sais que cet article est un peu vieux, mais au cas où cela aiderait quelqu'un, il existe une application de bureau que vous pouvez exécuter maintenant pour analyser et signaler les problèmes de contenu mixte trouvés sur un site: ecommerce.co.uk/httpschecker J'espère que cela aide :)
stilliard

Réponses:


44

Cela se produit généralement parce que vous chargez des images, des fichiers javascript ou des fichiers CSS externes sans utiliser https. Vous pouvez utiliser un programme tel que FireBug: http://getfirebug.com/

FireBug vous dira comment vos éléments se chargent et lesquels ne passent pas par la couche SSL. Si vous n'avez pas Firefox, je suis sûr que Chrome a également quelque chose de similaire à FireBug intégré.

Voici comment utiliser Firebug:

  1. Ouvrez Firebug
  2. Cliquez sur l'onglet Console
  3. Recharge la page
  4. Toute erreur https s'affichera dans la console et vous indiquera quelle ressource ne fonctionne pas.

J'espère que cela t'aides


17
Pourriez-vous être plus précis?

2
Chargez la page avec l'onglet Net activé. Une fois le chargement de la page terminé, survolez chaque entrée et l'entrée GET affichera l'URL qu'elle récupère. Vous finirez par trouver ceux qui sont récupérés via HTTP au lieu de HTTPS.
Joe C

2
pensez-vous vérifier manuellement chacun d'entre eux dans l'ensemble de la pile d'actifs? Qu'en est-il du filtrage https?
palmic

5
Pour ajouter à la solution de @ phantom, vous pouvez cliquer avec le bouton droit de la souris sur une entrée dans l'onglet Réseau et choisir «Tout copier comme HAR». Cela copiera toutes les entrées en tant qu'objet de type JSON, ce qui facilite le collage dans un éditeur et Ctrl-F pour "http:". Je n'arrive pas à croire qu'il n'y ait pas d'onglet de schéma dans l'onglet Réseau d'outils de développement, cependant.
Protector one

3
Je viens de rencontrer le même problème mais toutes les références image, css et js étaient https. Mais certains étaient rouges. J'ai donc copié l'url et ce n'est que lorsque je les ai collées dans leur propre onglet de navigateur que j'ai découvert que le certificat du serveur avait expiré. C'est donc une autre raison non évidente pour laquelle vous pourriez obtenir cette erreur.
dim

87

Je viens d'avoir ce problème dans Chrome également. J'ai vérifié dans l'onglet Réseau mais toutes les ressources ont été chargées via https.

Solution: fermez Chrome et rouvrez-le.

Chrome doit mettre en cache sa détection de contenu sécurisé afin que même lorsque vous résolvez les problèmes, le message de contenu non sécurisé ne disparaisse pas.


18
Fermer Chrome est excessif, vous pouvez simplement fermer l'onglet.
Patrick James McDougle

1
J'ai une relation d'amour / haine avec Chrome - des problèmes comme celui-ci sont classés dans la colonne "haine". -_- Tant de temps perdu pour rien. Merci pour cette solution, cela a fonctionné pour moi.
Mike

@MjrKusanagi merci pour l'astuce..RESTART a fonctionné pour moi aussi..Je ne pouvais rien voir dans l'onglet réseau ou les erreurs de la console ... j'ai changé toutes les options par défaut ... je me demandais vraiment pourquoi cela ne fonctionnait pas ... mais j'ai obtenu le vert https: // dans la barre d'adresse ..
Chanceux

Mon problème était la balise <form> sur ma page. Le débogueur réseau de Webkit ne vous montrera pas si votre paramètre d'action pointe vers une URL non sécurisée!
Billy

38

Je n'ai rien à voir avec les personnes qui fournissent ce script en ligne, mais c'est facile et peut être mis en signet dans n'importe quel navigateur .. fonctionne bien et rapidement pour résoudre le problème .. http://www.whynopadlock.com


Hé, c'était vraiment utile, je ne pourrais pas trouver le coupable avant d'avoir essayé ce script et de découvrir que c'était une police google liée à http au lieu de https!
Daniel Valadas

C'était la seule chose qui exposait le problème, merci. Il s'est avéré que j'avais une balise <form> faisant référence à une action sur http - pas https!
Billy

8

Dans Google Chrome: vous pouvez afficher la ressource incriminée dans l' Consoleonglet de la Inspect Elementfenêtre.

Il sera répertorié comme:

La page à l' adresse https://example.com/page affichait du contenu non sécurisé de http : //example.com/resource

Bien sûr, vous devrez peut-être recharger la page avec la Inspect Elementfenêtre déjà ouverte.


3
Onglet Réseau> cliquez avec le bouton droit sur n'importe quel en-tête de colonne> cliquez sur "Scheme"
Costa

1
@Costa: Le problème avec cette approche est qu'elle ne répertorie pas le contenu que Chrome a bloqué. La solution dans la réponse montre les deux.
colan

Ceci est connu sous le nom de "Tiroir de la console" et s'ouvre en cliquant sur le symbole "> ☰" en haut à droite de l'inspecteur.
Dale Anderson

Chrome donnera également cet avertissement pour les formulaires sur une page qui se soumettent à des emplacements non sécurisés.
Dale Anderson

Très bonne réponse. J'ai résolu tous les problèmes http répertoriés dans mon onglet réseau. mais la console m'a montré que je devais également fixer une cible de formulaire pour une newsletter afin qu'elle utilise https. Aucune cible de formulaire sur une page SSL ne peut viser une page non SSL, apparemment.
Buttle Butkus

6

L'un des moyens les plus simples de le faire est de cliquer avec le bouton droit sur la page dans Firefox et de sélectionner Afficher les informations sur la page. Accédez ensuite à l'onglet Médias et recherchez tout ce qui se charge à partir de http au lieu de https.


2
Cela fonctionne très bien pour les images et autres, mais il s'agit souvent d'un fichier Javascript ou CSS lié provoquant la rupture du HTTPS.
Joe C

C'est la solution la plus rapide pour trouver le lien du coupable dans une certaine page. Je pense que c'est la meilleure solution parmi toutes les solutions de cette page .. Merci
Pavan Kumar

Cela ne fonctionne pas car il n'affiche pas les javascripts chargés par d'autres scripts. Il ne montre que les éléments qui sont directement liés dans le HTML
Janning

5

Nous avons égratigné notre propre démangeaison et écrit un outil qui explore votre site Web et vous indique quelles pages ont des ressources non SSL. Il vous suffit de saisir l'URL racine de votre site Web - pas besoin de vérifier chaque page manuellement.

http://www.jitbit.com/sslcheck/


2

J'ai remarqué que lorsque j'ai eu ce problème, une barre d'outils (uTorrent) provoquait l'erreur. J'ai supprimé la barre d'outils et l'erreur a disparu. Je ne sais pas pourquoi une barre d'outils provoquerait une erreur sur mon site, mais plus de problèmes ici avec le certificat SSL.


1

Dans Chrome, vous pouvez découvrir quelles ressources ont été chargées via http et https en procédant comme suit:

1) Dans le menu Clé, choisissez Outils> Outils de développement

2) Cliquez sur l'icône de la barre d'outils "Ressources"

3) Développez le dossier Frames pour voir les différentes pages. Développez la page dont vous souhaitez afficher les ressources. Les ressources individuelles de la page sont ensuite répertoriées, ventilées par images, scripts et feuilles de style

4) Pour voir l'URL qui a été utilisée pour charger cette ressource, passez simplement la souris sur le nom de la ressource et l'URL apparaîtra, avec http ou https. Vous pouvez également cliquer sur le nom d'une image pour voir l'image sur le côté droit, avec son URL


3
Onglet Réseau> cliquez avec le bouton droit sur n'importe quel en-tête de colonne> cliquez sur "Scheme"
Costa

Génial. Pourquoi l'appellent-ils Scheme au lieu de Protocol? : /
Aamir Afridi

1

Pour ajouter à cela, j'ai fait un clic droit sur les en-têtes de colonne dans la vue de l'onglet Réseau et j'ai sélectionné Protocole.

Si vous cliquez ensuite sur l'en-tête Protocole, le contenu du rapport sera regroupé par HTTPS, etc.


Dans Chrome v69, je pense que c'est la colonne "Scheme" qui serait plus utile dans ce cas.
Tasos

0

Chrome a son propre outil de développement.

vous pouvez faire un clic droit sur une page, l'inspecter .. puis cliquer sur l'onglet "réseau" et recharger la page. vous verrez le flux de travail.


0

Je ne sais pas si quelqu'un vérifiera cette réponse Ou vous avez peut-être déjà trouvé la solution, mais de toute façon, ma réponse pourrait aider d'autres personnes souffrant d'un problème similaire

http://www.whynopadlock.com/

C'est le lien que j'ai utilisé pour vérifier le contenu / fichier non sécurisé qui était chargé sur ma page.

J'espère que ça aide. :)


0

Je viens de découvrir le même comportement dans Chrome (Firefox a montré un verrou vert), même si toutes les ressources ont été chargées via https.

La raison dans mon cas était que le serveur supportait le SSLv3 cassé (google poodle).

Définition de ssl_protocols pour exclure SSLv2 dans nginx.conf comme ceci

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE

a résolu le problème pour moi.

Je trouve dommage que le chrome ne rende pas cette raison plus transparente. "cette page charge certaines ressources de manière non sécurisée" est très trompeur, voire faux.


0

Si vous souhaitez explorer votre propre site à partir de votre propre bureau pour obtenir une liste de toutes les ressources chargées (non chargées par JavaScript, ce qui vaut la peine d'être pris en compte), si vous utilisez Windows, vous pouvez utiliser le détective de liens de Xenu . Exportez le fichier TSV, puis faites un clic droit et ouvrez avec Excel, puis triez par URL, vous pouvez ensuite trouver ces ressources http embêtantes pour toutes les pages du site!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.