Lorsque je vais sur notre site Web via le mode HTTPS, Chome signale une erreur en indiquant que la page contient des éléments sécurisés et non sécurisés. Cependant, j'ai utilisé Firebug, Fiddler et HttpDebuggerPro, tous ceux qui me disent que tout passe par HTTPS. Est-ce un bug dans Chrome?
Désolé, mais je suis incapable de donner l'URL réelle.
Je suis un peu en retard à la fête, mais des problèmes se sont posés récemment. Une fois que j’ai trouvé une ressource http et qu’elle a changé, le symbole du cadenas rouge s’y trouvait toujours. Lorsque j'ai fermé l'onglet et en ouvert un nouveau, il a été remplacé par un cadenas vert. Je suppose donc que Chrome met cette information en cache pour la durée de vie de l'onglet.
Les versions actuelles de Chrome affichent l'URL du contenu mélangé dans la console des erreurs. Appuyez sur CTRL + Maj + J et vous verrez un texte comme:
"La page sur https://www.fiddler2.com/test/securepageinsecureimage.htm contient du contenu non sécurisé sur http://www.fiddler2.com/Eric/images/me.jpg ."
J'avais le même problème: Chrome montrant les fichiers statiques non sécurisés, mais quand tout était http: //.
Le simple fait de fermer l'onglet en cours et de rouvrir la page dans un autre nouvel onglet a fonctionné. Je pense donc qu'il s'agit d'un bogue Chromium/Chrome.
À votre santé,
Diogo
À l'aide de Chrome, si vous ouvrez les outils de développement (Affichage> Développeur> Outils de développement), affichez la console et choisissez de filtrer les avertissements, une liste des URL incriminées s'affiche.
Vous verrez quelque chose comme ce qui suit si vous avez un contenu non sécurisé
The page at https://mysite/ displayed insecure content from http://insecureurl.
Pour une meilleure expérience dans la recherche du coupable, vous devrez commencer votre enquête dans un nouvel onglet.
Il est possible qu'une URL non sécurisée soit référencée mais non accédée (par exemple, la base de code d'un Flash <object>
).
J'ai rencontré ce problème lorsque Jquery était en train d'exécuter quelques secondes après le chargement de la page, ce qui a ajouté une classe contenant un arrière-plan d'image non sécurisé. Chrome doit continuellement vérifier si des ressources non sécurisées doivent être chargées.
Voir l'exemple de code ci-dessous. Si vous aviez un code comme celui-ci, le cadenas vert est affiché dans Chrome pendant environ 5 secondes jusqu'à ce que la classe différée soit appliquée à la div.
setTimeout(function() {
$("#some-div").addClass("deferred")
}, 5000);
.deferred
{
background: url(http://not-secure.com/not-secure.jpg"
}
Recherchez dans la source de la page des objets externes (scripts, feuilles de style, images, objets) liés à l'aide de http://...
au lieu de https://...
ou d'un chemin relatif. Modifiez les liens pour utiliser des chemins relatifs ou des chemins absolus sans protocole, c'est-à-dire href="/path/to/file"
.
Si tout cela va bien, cela pourrait être quelque chose d'inclus avec Javascript. Par exemple, le code de Google Analytics utilise document.write
pour ajouter un nouveau script à la page, mais il dispose d'un code pour vérifier HTTPS si la page appelante est sécurisée:
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
Si toutes vos ressources sont effectivement sécurisées, alors c'est un bug. http://code.google.com/p/chromium/issues/detail?id=72015 . Heureusement, c'était réparé.
Lors de la publication de la version 53 de Chrome sur Windows, Google a modifié les indications de confiance afin d’initialiser circle-i. Par la suite, Google a annoncé qu'un nouveau message d'avertissement serait émis lorsqu'un site Web n'utilise pas HTTPS.
À partir de janvier 2017, le navigateur Web populaire Chrome commencera étiquetage des sites HTTP comme «non sécurisés» [transmettant des mots de passe/ask pour les détails de carte de crédit]
Comment réparer cette page n'est pas un avertissement sécurisé? Vérifier ici