我主持了一个网站,这是使用WordPress创建的。我收到一条"X-Frame-Options Header Not Set"的安全警报,但我不知道这是什么意思。有谁能解释一下这个警告是关于什么的,并给予我一个如何阻止它发生的解决方案吗?
"X-Frame-Options Header Not Set"
yzxexxkh1#
这里有一个更简单的一行程序来设置X-Frame-Options SAMEORIGIN,将以下代码添加到当前WordPress主题的functions.php文件中:add_action( 'send_headers', 'send_frame_options_header', 10, 0 );
X-Frame-Options SAMEORIGIN
add_action( 'send_headers', 'send_frame_options_header', 10, 0 );
unftdfkk2#
function send_frame_options_header() { @header( 'X-Frame-Options: SAMEORIGIN' ); }
如果你的functions.php文件中没有定义X-Frame-Options,你可以把代码粘贴到functions.php文件中。为了防止站点在WordPress中跨框架脚本,请在SAMEORIGIN中使用X-Frame-Options。
或者你也可以从wordpress根文件夹中的. htaccess文件中设置X-Frame-Options。只需将下面的代码粘贴到. htaccess文件中。
Header set X-Frame-Options SAMEORIGIN
cfh9epnr3#
在任何PHP应用程序中,都可以在发送页面内容之前设置header,这可以通过header函数来完成。
header('X-Frame-Options: SAMEORIGIN');
qojgxg4l4#
我在多站点安装时遇到了这个错误,它阻止子站点显示插件的详细信息(当你点击"查看详细信息"时,它会打开一个弹出窗口)。我解决了将此添加到我的wp-config.php:
wp-config.php
header('X-Content-Security-Policy: frame-ancestors https://*.MYDOMAIN.com'); header('Content-Security-Policy: frame-ancestors https://*.MYDOMAIN.com');
更新:这只适用于子域,对于别名域,我不得不用https://*将所有内容列入白名单。
https://*
4条答案
按热度按时间yzxexxkh1#
这里有一个更简单的一行程序来设置
X-Frame-Options SAMEORIGIN
,将以下代码添加到当前WordPress主题的functions.php文件中:add_action( 'send_headers', 'send_frame_options_header', 10, 0 );
unftdfkk2#
如果你的functions.php文件中没有定义X-Frame-Options,你可以把代码粘贴到functions.php文件中。为了防止站点在WordPress中跨框架脚本,请在SAMEORIGIN中使用X-Frame-Options。
或者你也可以从wordpress根文件夹中的. htaccess文件中设置X-Frame-Options。只需将下面的代码粘贴到. htaccess文件中。
cfh9epnr3#
在任何PHP应用程序中,都可以在发送页面内容之前设置header,这可以通过header函数来完成。
qojgxg4l4#
我在多站点安装时遇到了这个错误,它阻止子站点显示插件的详细信息(当你点击"查看详细信息"时,它会打开一个弹出窗口)。
我解决了将此添加到我的
wp-config.php
:更新:
这只适用于子域,对于别名域,我不得不用
https://*
将所有内容列入白名单。