【问题标题】:Access Control Allow Headers not allowing contents of an iframe to load访问控制允许标题不允许加载 iframe 的内容
【发布时间】:2018-08-24 01:57:49
【问题描述】:

我在同一个目录中有两个 php 页面。它们是edit_page.phppage.php

edit_page.php 有一个所见即所得的编辑器,我可以在其中通过 iframe 编辑另一个页面的内容。 iframe 的来源是page.php,带有查询?page_id=XXX

当我转到page.php?page_id=XXX 时,我可以看到以下标题:

但是,当我转到 edit_page.php?page_id=XXX 时,我在控制台中看到以下错误:

我尝试将标题放在发送请求的页面中只是为了笑,即使我知道它正在发出请求而不是发送响应标题....值得一试:P

我发送的标题是:

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST");
header("Access-Control-Allow-Headers: Content-Type");
header("X-Frame-Options: *"); 

我有点被这个问题困住了,我以前从未遇到过这种问题。如果有人能指出我正确的方向,将不胜感激。

另外,如果有人能首先解释为什么会发生这种情况,那就太好了。我的理解是,这会发生在来自交叉来源的页面上,例如从不在同一个域的外部源加载内容。但显然这两个文件不仅在同一个域中,而且在同一个目录中。

【问题讨论】:

    标签: php iframe access-control x-frame-options


    【解决方案1】:

    好吧,现在我觉得自己很愚蠢....

    我有:

    <iframe name="richTextField" id="wysiwyg" src="page?page_id=1"></iframe>
    

    代替:

    <iframe name="richTextField" id="wysiwyg" src="page.php?page_id=1"></iframe>
    

    我想我要脑死了

    【讨论】:

      【解决方案2】:

      错误消息显示https://lifting365.com/EUR/beta/admin/page/ 已设置X-Frame-Options: sameorigin

      您似乎试图在http://lifting365.com/something/edit_page?page_id=1 上设置X-Frame-Options: *(这不是标头的有效值,请尝试reading the documentation 以查看允许的值)。

      所以第一个问题是你在错误的页面上设置了标题

      您要在框架中显示的页面需要授予权限。包含&lt;iframe&gt; 元素的页面不需要授予自己包含 iframe 的权限!


      你的第二个问题是你的基本方法是错误的。

      您不应该尝试降低安全限制,以便https://lifting365.com 中的页面可以显示在http://lifting365.com 上。您应该将所有页面移至 HTTPS。

      这会:

      • 让它们更安全、更值得信赖
      • 将它们放在同一个来源(消除您所询问的问题)

      另外,如果有人能解释为什么会发生这种情况,那就太好了。

      使两个来源相同所需的因素之一是共享 URL 方案。 http:https: 是不同的。

      【讨论】:

      • 感谢您的回答,但我已经整理好了。就像我说的,I tried putting the headers in the page sending the request just for the laugh even though I know that it is making the request and not sending the response header.... worth a try :P 认为它实际上不会起作用。此外,我将X-Frame-Options: 设置为任何我能想到的试图让它发挥作用的东西......结果这只是我犯的最愚蠢的错误
      猜你喜欢
      • 2019-07-09
      • 1970-01-01
      • 2022-06-25
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多