IE9 res://ieframe.dll错误

时间:2012-07-11 10:41:43

标签: html facebook internet-explorer iframe

我有一个网站,允许用户将图像发布到Facebook页面。我使用表单并将其发布到隐藏的IFRAME,以防止用户在发布图像后被重定向。

表单定义:

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

Iframe:

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

我的问题是,在我自己的 Internet Explorer 9中,当我尝试上传图片时,我遇到了这些错误:

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 

它甚至更奇怪,就像我朋友的计算机,它有相同的IE9版本,并连接到同一个网络,帖子工作得很好(它也在我家里的另一台电脑上工作,另一台一个在我哥哥的电脑里)。 我本来可以说这只是一个本地问题,但由于这个网站解决了很多客户问题,我无法理解这个错误,如果它发生在我自己的操作系统上,它可能会发生在其他机器上。

我还会注意到在Chrome和FireFox上运行没有问题

我不确定这是与代码相关的问题,我试图谷歌搜索并发现Microsoft ArticleThis article。但我删除了任何第三方IE插件,我们和我的朋友都连接到同一个路由器(所以它不是路由器问题),我已经安装了最新的Windows更新。

我目前不知道要解决这个问题,所以我想问一下你们是否遇到过类似/相同的错误?也许对解决方案有一些想法...

我很乐意在需要时提供更多代码,但我不想首先用代码填写问题,因为在大多数情况下它都能正常工作。

感谢。

6 个答案:

答案 0 :(得分:10)

最好在服务器级别而不是客户端级别解决此问题,因为我们不能指望所有其他网站访问者只更改其IE设置可以使用您的网站。

正如您所提到的,它确实是由 https 环境中的iframe引起的。 IE9 对此特别严格,因此您需要在x-frame-options中定义它:

对于Apache,HTTP Server

在Apache Web Server的httpd.conf文件中添加/更改以下行

Header always append X-Frame-Options SAMEORIGIN

确保未将其设置为DENY。 重新启动Web服务器

如果有帮助,请告诉我

答案 1 :(得分:7)

如果它在您朋友的IE 9中工作,但不在您的工作中 - 那么比较您的安全设置

特别是名为“在IFRAME中启动程序和文件”的那个可能是交易破坏者,我怀疑。

如果那个不是它,那么尝试将提供此功能的每个安全选项从“禁用”设置为“提示”,并查看您是否在IE中收到任何消息。

答案 2 :(得分:0)

我们昨天在IE11控制台中遇到了这些确切的错误。 对于我们来说,在IIS中为iframed内容(将成为iframe的src的页面)设置请求标头有助于P3P = NOI。我们通过检查基于Georges回答的请求标题到达那里。

我们通过查询参数将门户生成的数字传递给iframed内容的方式不同。门户网站和iframed网站都运行https。

答案 3 :(得分:0)

对我来说,这是由于我所连接的站点没有有效的HTTPS证书引起的。我创建了一个Windows无法识别为受信任证书的开发证书。

答案 4 :(得分:0)

感谢 @George Answer,我们能够查明问题 -

我们最近在项目中启用 spring 安全时遇到了这个问题。在知道问题是由于 X-Frame-Options=DENY(在开发者工具中作为响应头),我们意识到 Spring Security 默认附加带有默认值的头 -

Security Headers

删除它解决了我们的问题 -

@EnableWebSecurity
@Configuration
public class WebSecurityConfig extends
   WebSecurityConfigurerAdapter {

  @Override
  protected void configure(HttpSecurity http) throws Exception {
    http
      // ...
      .headers().disable();
  }
}

答案 5 :(得分:-2)

'res://ieframe.dll/dnserrordiagoff.htm#'的解决方案:
1.打开控制面板 - Internet选项
2.隐私标签
3.设置低
4.申请并确认。