web-dev-qa-db-fra.com

Erreur IE9 res: //ieframe.dll

J'ai un site Web qui permet aux utilisateurs de publier des images sur des pages Facebook. J'utilise un formulaire et l'envoie à un IFRAME caché pour empêcher l'utilisateur d'être redirigé après l'affichage des images.

La définition du formulaire:

<form name="myform" id="myform" enctype="multipart/form-data" action="" method="POST" onsubmit="getAction(this);" target="uploader">
//....form code....//

L'Iframe:

<iframe name="uploader" width=2px height=2px style="visibility: hidden"></iframe>

Mon problème est que, dans le mien Internet Explorer 9, lorsque j'essaye de télécharger une image, j'obtiens ces erreurs:

SEC7111: HTTPS security is compromised by res://ieframe.dll/dnserrordiagoff.htm 
SEC7111: HTTPS security is compromised by res://ieframe.dll/ErrorPageTemplate.css 
SEC7111: HTTPS security is compromised by res://ieframe.dll/errorPageStrings.js 
SEC7111: HTTPS security is compromised by res://ieframe.dll/httpErrorPagesScripts.js 
SEC7111: HTTPS security is compromised by res://ieframe.dll/noConnect.png 
SEC7111: HTTPS security is compromised by res://ieframe.dll/bullet.png 
SEC7111: HTTPS security is compromised by res://ieframe.dll/bullet.png 
SEC7111: HTTPS security is compromised by res://ieframe.dll/bullet.png 
SEC7111: HTTPS security is compromised by res://ieframe.dll/down.png 
SEC7111: HTTPS security is compromised by res://ieframe.dll/favcenter.png 
SEC7111: HTTPS security is compromised by res://ieframe.dll/favcenter.png 
SEC7111: HTTPS security is compromised by res://ieframe.dll/background_gradient.jpg 

Et cela devient encore plus étrange, comme dans l'ordinateur de mon ami, qui a la même version d'IE9 et est connecté au même réseau, le message fonctionne très bien (il fonctionne également sur un autre ordinateur de ma maison et un autre dans mon ordinateur). l'ordinateur du frère). J'aurais pu dire qu'il ne s'agissait que d'un problème local, mais comme ce site s'adresse à de nombreux clients, je ne peux pas me permettre de ne pas comprendre cette erreur. Si cela se produit sur mon propre système d'exploitation, cela peut se produire sur d'autres machines.

Je noterai également que c’est fonctionne sur Chrome et FireFox sans aucun problème}.

Je ne suis pas sûr qu'il s'agisse d'un problème lié au code. J'ai essayé de le rechercher sur Google et trouvé les deux Microsoft Article et Cet article . Mais j'ai supprimé tous les addons tiers IE. Nous et mes amis sommes connectés au même routeur (ce n'est donc pas un problème de routeur) et j'ai installé les dernières mises à jour de Windows.

Je n'ai actuellement aucune idée de la résolution du problème. Je voulais donc vous demander si l'un d'entre vous a déjà rencontré des erreurs similaires/identiques? et a peut-être quelques idées de solutions ...

Je serai heureux de fournir plus de code si nécessaire, mais je ne voulais pas répondre à la question avec un code dès le départ, car dans la plupart des scénarios, cela fonctionne bien.

Merci.

25
Alon Adler

Si cela fonctionne dans IE 9 de votre ami, mais pas dans votre - alors comparez vos paramètres de sécurité .

En particulier celui nommé “Lancer des programmes et des fichiers dans un IFRAME” pourrait bien être le facteur déterminant de l’accord, je le soupçonne.

Si tel n'est pas le cas, essayez de définir chaque option de sécurité offrant cette option de «Désactiver» à «Demander», et vérifiez si vous recevez des messages dans votre IE.

7
CBroe

Il est préférable de résoudre ce problème au niveau de server level plutôt que client side, car nous ne pouvons pas nous attendre à ce que tous les autres visiteurs du site modifient leurs paramètres IE uniquement pour pouvoir utiliser votre site Web. 

Comme vous l'avez dit, cela est effectivement dû à votre iframe dans https environment. IE9 est particulièrement strict à ce sujet. Vous devrez donc le définir dans vos options x-frame:

Pour Apache, HTTP Server

Ajouter/modifier la ligne suivante dans le fichier httpd.conf du serveur Web Apache

Header always append X-Frame-Options SAMEORIGIN

Assurez-vous qu'il n'est pas défini sur DENY. Redémarrez le serveur Web. 

Dis moi si ça aide

10
George

Pour moi, cela était causé par le site auquel je me connectais car je n'avais pas de certificat HTTPS valide. J'en avais créé un pour le développement que Windows ne reconnaissait pas comme un certificat approuvé.

0
Giles Roberts

Nous avons eu ces erreurs exactes dans la console IE11 hier. Pour nous, définir l'en-tête de demande dans IIS pour le contenu iframed (la page qui sera le src de l'iframe) sur P3P = NOI a aidé. Nous y sommes arrivés en vérifiant les en-têtes de demande basés sur la réponse de Georges ci-dessus.

Le scénario était différent dans la façon dont nous transmettions un nombre généré par le portail au paramètre iframed content by query. Le portail et le site iframed exécutent https.

0
gabore