在登录页面上收到“此内容无法在框中显示”错误

时间:2013-01-15 作者:user1973523

我正在不同的服务器中为我的WordPress目录使用一个新域。当我点击元链接时,如;“登录”;或“或”;“注册”;,我获得此页面:

此内容不能显示在框架中

为帮助保护您输入此网站的信息的安全,此内容的发布者不允许将其显示在框架中。

您可以尝试的内容:在新窗口中打开此内容

我怎样才能解决这个问题?

1 个回复
SO网友:fuxia

自版本3.4(或更早版本?)WordPress在登录和管理页面上发送一个特殊的HTTP头(非HTML):

X-Frame-Options: SAMEORIGIN
enter image description here

因此,您的浏览器将显示一些内置在浏览器中的文本,而不是从WordPress发送的文本。

从…起wp-includes/default-filters.php:

add_action( \'login_init\', \'send_frame_options_header\', 10, 0 );
add_action( \'admin_init\', \'send_frame_options_header\', 10, 0 );
您可以创建插件并禁用这些标题:

remove_action( \'login_init\', \'send_frame_options_header\' );
remove_action( \'admin_init\', \'send_frame_options_header\' );
但是您的登录名可以用于clickjacking. 有人可能会注册一个名称非常相似的域,将您的登录嵌入为后台iframe,并在您尝试键入登录凭据时记录这些凭据。

这不是虚构的。这确实发生了,这就是WordPress实现这个的原因。

删除iframe. 尝试找到更好的解决方案。

结束