php - wordpress 如何将 X-FRAME 限制为同源?

标签 php wordpress .htaccess

我有两个 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 相关的操作钩。

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

    remove_action('login_init', 'send_frame_options_header');
    

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

    相关文章:

    php - 如何使用 .htaccess 隐藏我的 URL 参数

    php - 如何从 php 中的字符串中删除 ♥(或 ♥)?

    jquery - 使用自定义复选框检查元素时显示

    php - 使用 PHP 和 CURL 下载 htaccess 保护的文件

    WordPress 社交登录 : Unspecified error. #6 With Twitter

    wordpress - 如何显示 WordPress 类别列表及其 ID

    .htaccess - Laravel 访问

    同一页面上的 PHP 表单验证提前显示

    php - 从 Woocommerce 中的我的帐户订单表中删除项目计数

    php - Composer create-project 在本地包存储库上失败