Comme beaucoup le savent, si vous servez une page sur https et que le contenu charge des ressources (images, feuilles de style, objets js, SWF, etc.) sur http, les anciennes versions d'Internet Explorer afficheront un avertissement indiquant à l'utilisateur "Cette page contient éléments non sécurisés ". Ceci est gênant pour de nombreux utilisateurs non techniques.
En général, je peux consulter la source HTML et identifier le ou les éléments qui déclenchent cette erreur. Parfois, un objet Flash charge quelque chose d'autre ou un code JavaScript incorporé place un nouvel objet dans le DOM et le déclenche.
Quels outils sont bons pour localiser rapidement la source de l'avertissement?
Le violoneux est ce que j'utilise normalement. C'est un renifleur http et vous montrera toutes les requêtes qui composent votre page. Sur une page sécurisée, ils doivent être affichés avec un cadenas pour signaler l'utilisation de SSL et être répertoriés avec le protocole HTTPS. Tout ce qui ne ressemble pas à ça est servi de manière peu sûre.
http://www.fiddler2.com/fiddler2/
Mat
Lorsque j'essaie de trouver tous les fichiers demandés par une page, FireBug est mon premier choix. Mais si vous avez besoin de plus de détails, je recommande une autre extension de Firefox appelée Live HTTP Headers . Dans l'option de cet add-on, vous pouvez filtrer le type de fichiers que vous souhaitez "suivre" afin que vous puissiez le configurer pour suivre les demandes http dans un environnement https.
Assurez-vous simplement de ne pas oublier de fermer l'add-on lorsque vous avez terminé, car si vous le maintenez ouvert, toutes vos ressources système seront utilisées.
Nous avons créé un outil pour cela - SslCheck . Nous en avons assez de vérifier manuellement chaque page Web et avons créé un robot. Il parcourt toutes les pages et vous indique celles qui ont un contenu "non sécurisé". Tout ce que vous avez à faire est d’entrer votre URL racine. J'espère que ça fait gagner du temps à quelqu'un.
Vous pouvez utiliser un outil de débogage Web tel que Fiddler pour déterminer quel élément ne passe pas par HTTPS ou consultez les journaux du serveur pour déterminer lequel n'utilise pas le port 443.
Si l'avertissement persiste, vous devrez peut-être inspecter votre code JavaScript et CSS pour rechercher des références à des fichiers, comme expliqué ici
Mise à jour: j'ai remarqué que lorsque vous exécutez un test sur WebPageTest.org pour une URL HTTPS, les éléments de page sécurisés sont affichés avec un verrou devant leur URL dans la page de détails du graphique Cascade. J'ai testé cela avec une page sécurisée mais pas avec une page contenant un contenu mixte et j'imagine que cela différenciera les deux. C’est peut-être un meilleur outil à utiliser puisqu’aucune installation n’est requise et que le service est en ligne, il peut fonctionner sur n’importe quel système d’exploitation, y compris Mac.
Vous pouvez ouvrir la page dans un autre navigateur et vérifier les outils de débogage de ces navigateurs. La plupart des autres navigateurs offrent une sorte de liste des fichiers inclus, y compris parfois des images. Bien sûr, cela ne fonctionnera pas si vous incluez un tas d'autres choses qui ne sont pas incluses uniquement dans IE.
Faites-vous quelque chose avec Ajax ou impliquant potentiellement des iframes dynamiques? Il y a un bogue IE qui déclenchera l'avertissement de contenu non sécurisé si vous avez un iframe sans source définie. Ainsi, même s'il n'y a pas de contenu sur la page d'un domaine non sécurisé, vous obtenez le Attention. Essayez définissez la src
sur javascript:false
.