无法在iframe中访问WordPress信息中心

Xav*_*ver 4 wordpress iframe x-frame-options

我在http://foo.example.com上有一个iframe,它的目标是http://bar.example.com

http://bar.example.com上是WordPress安装。我可以查看页面并单击所有页面并发布,但是当我尝试转到后端时,我得到了

Refused to display document because display forbidden by X-Frame-Options.
Run Code Online (Sandbox Code Playgroud)

并且请求被中止。

根据这个问题,我为这个成功发送的标头添加了地址:

header('X-Frame-Options: GOFORIT');
Run Code Online (Sandbox Code Playgroud)

还有什么可以限制对仪表板(和登录屏幕)的访问?

我可以访问两个子域,也可以使用htaccess

bra*_*ilo 5

据此,在 WordPress Answers 中,在登录页面收到“此内容无法在框架中显示”错误时,WordPress 会发送一个特殊的标头

X-Frame-Options: SAMEORIGIN
Run Code Online (Sandbox Code Playgroud)

这可以防止点击劫持。因此,将管理员嵌入为 iframe。

从 中删除几个操作可以消除此标头wp-includes/default-filters.php,但风险自负。

有人可能会使用非常相似的名称注册一个域,将您的登录信息嵌入为后台 iframe 并在您尝试输入登录凭据时记录它们。

请阅读 WPSE 的完整问答。


jag*_*oft 5

这是一个更新Wordpress时不会中断的更好的解决方案:

remove_action( 'login_init', 'send_frame_options_header' );
remove_action( 'admin_init', 'send_frame_options_header' );
Run Code Online (Sandbox Code Playgroud)

如果您使用的是Apache,这是另一个解决方案。将此放入您的.htaccess文件中:

<IfModule mod_headers.c>
    Header unset X-Frame-Options
    Header always unset X-Frame-Options
</IfModule>
Run Code Online (Sandbox Code Playgroud)