我有两个 wordpress 站点,一个 sourceURL 和一个 destinationURL。 destinationURL 有一个 iframe 来展示来自 sourceURL 的内容。当我尝试运行 iframe 来展示另一个的内容时,我收到以下错误:

destinationURL refused to display sourceURL in a frame because it set 'X-Frame-Options' to 'sameorigin'.

我似乎无法找到 wordpress 设置 x-frame 选项的位置。我检查了以下内容:
  • .htaccess - 我删除了 htaccess 文件中的所有安全选项。我还尝试通过 htaccess 启用 x-frame。这样做会给我一个错误,即我有两个相互冲突的规则。
    <IfModule mod_headers.c> Header set X-Frame-Options "ALLOW-FROM destinationURL“</IfModule>
  • 所有根 wp 相关文件。我似乎找不到任何更新设置的配置。
  • 插件 - 我删除了安全插件,以防它们将我的选项设置为相同来源,并且我尝试了旨在更新 x-frame 选项的插件。

  • 在这个阶段,我怀疑 wordpress 有一个默认配置。

    wordpress 如何将 x-frame 选项限制为同源?

    我希望你们中的一个人之前经历过这种情况,并在我为所有文件 grep 'x-frame' 或 sameorigin 之前带我了解 wordpress 如何禁用 x-frame 选项。

    --更新--

    我创建了一个 wordpress 插件来删除它们作为变量的安全性。后来我意识到我收到的 X 帧错误是小写的(同源),这突出表明它不是来自 wordpress,因为它们的文件都设置为大写。

    我与我的网络托管服务提供商交谈,发现他们将他们的 apache 配置设置为限制 X-Frames。

    为了更正我的问题,我将以下行添加到我的 .htaccess 文件中。希望这可以帮助某人。
    Header always unset X-Frame-Options
    

    最佳答案

    https://github.com/WordPress/WordPress/search?utf8=%E2%9C%93&q=x-frame-options

    send_frame_options_header 函数处理这个。这是一个与 login_init Hook 相关的操作。

    您可以通过在自定义插件中执行此操作来删除它:

    remove_action('login_init', 'send_frame_options_header');
    

    关于php - wordpress 如何将 X-FRAME 限制为同源?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47383874/

    10-15 13:11