【问题标题】:How to render page which has enabled X-Frame option in HTML IFRAMEs如何呈现在 HTML IFRAME 中启用了 X-Frame 选项的页面
【发布时间】:2011-09-21 02:51:30
【问题描述】:

我希望通过 IFRAME 将一个外部页面嵌入到我的页面中。

举个例子:

我的页面内容:

 <html>
  <body>
  <iframe style="height: 593px; width: 100%;" src="http://xxx.com/test/"    name="urlPx2473258" id="urlPx_2473258"></iframe>
  </body>
 </html>

在捕获的HTTP数据包中如下:

   Request===>
     `GET http://xxx.com/ HTTP/1.1
      Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/xaml+xml,     application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, */*
     Referer: https://plmtest2.apple.com/Agile/PLMServlet?module=LoginHandler&opcode=forwardToMainMenu
     Accept-Language: en-us
     User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
     Accept-Encoding: gzip, deflate
     Host: wikiserver.apple.com
     Connection: Keep-Alive

Response===>
 HTTP/1.1 200 OK
 Date: Wed, 14 Sep 2011 22:14:30 GMT
 Server: Twisted/8.2.0 TwistedWeb/8.2.0
 Content-Length: 15626
 Accept-Ranges: bytes
 Cache-Control: no-cache, no-store, must-revalidate, max-age=0, max-age=60
 Content-Type: text/html;charset=utf-8
 Expires: Wed, 14 Sep 2011 22:15:28 GMT
 MS-Author-Via: DAV
 X-Frame-Options: SameOrigin
 X-UA-Compatible: IE=EmulateIE7
 Connection: close`

可以看出,该值设置为“SameOrigin”。但是,来源是应用服务器,框架内容来自 Wiki 服务器。因此,无法显示内容。

我无法对外部页面进行任何更改(我无法控制)。有什么想法可以存档吗?

【问题讨论】:

    标签: html iframe frame


    【解决方案1】:

    X-Frame-Options 的全部目的是防止其他潜在的恶意网站完全按照您的意图进行操作。您需要找到某种方法从源头将其关闭。

    【讨论】:

    • 我无法从源头将其关闭,因为应用服务器不受我的控制。但实际上我已经被允许在 iframe 中使用他们的页面。我建议他们删除 X-Frame-Options,但他们拒绝了,因为这是在整个组织范围内使用。
    • 那么你可能不走运,除非你能找到某种方法让包含框架的页面在与目标相同的域上运行。此外,您可能希望从数据包转储中编辑主机名。
    • 谢谢。有什么办法可以使用 JS、重定向或直接读取页面源来放置要呈现的新页面?
    • 您可以将浏览器重定向到目标域上的页面,但只能在顶级(例如,window.location = newloc)。您无法从其他域读取其内容,也无法将任何种类的框架指向它。
    • 非常感谢,还有其他方法可以将外部页面呈现为嵌入我的页面的门户吗?
    猜你喜欢
    • 2021-08-05
    • 1970-01-01
    • 2016-07-19
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    • 2018-08-04
    相关资源
    最近更新 更多