我试图允许一些特定的域通过iframe访问我的网站
Header set X-Frame-Options ALLOW-FROM https://www.example.com
我知道这可以通过将上面的行添加到Apache服务器的配置中来完成。
两个问题。
1.应该添加到哪个配置文件?如果不是同一个文件,则为同时在Unix和Windows上运行的Apache
1.虽然启用了all-from,但我仍然希望能够从我自己的域运行一些iframe。我可以在allow-from后面添加以下行吗?
标头集X-框架-选项SAMEORIGIN
或者我应该在all-from中添加我自己的域,即
Header set X-Frame-Options ALLOW-FROM https://www.example.com, http://www.my-own-domain.example
6条答案
按热度按时间am46iovg1#
1.您可以添加到
.htaccess
、httpd.conf
或VirtualHost
部分Header set X-Frame-Options SAMEORIGIN
这是最佳选项并非所有浏览器都支持
Allow from URI
。参考:X-Frame-Options on MDNkr98yfug2#
参见错误响应上的X-Frame-Options标题
您可以简单地在.htaccess中添加以下行
p8ekf7hl3#
我在HTTP
<VirtualHost *:80>
和HTTPS<VirtualHost *:443>
虚拟主机块中添加了以下指令:这背后的原因是什么呢?默认情况下,如果设置了
X-Frame-Options
,服务器不会重置X-Frame-Options
头,所以我们需要首先删除默认值,在我的例子中是DENY
,然后使用下一个规则将其设置为所需的值,在我的例子中是SAMEORIGIN
。当然,您也可以使用Header set X-Frame-Options ALLOW-FROM ...
规则。x3naxklr4#
这对我在所有浏览器上都有效:
1.用我所有的JavaScript创建了一个页面
1.在同一台服务器上创建了第二页,并使用对象标记嵌入了第一页。
1.在我的第三方网站上,我使用了Object标签来嵌入第二页。
1.在原始服务器上的public_html文件夹中创建了一个.htaccess文件,并将Header unset X-Frame-Options放入其中。
cxfofazt5#
我发现,如果httpd服务器中的应用程序有这样一条规则:“如果X-Frame-Options头存在并且有值,就不要管它;否则添加报头X-Frame-Options:SAMEORIGIN”,则
httpd.conf
mod_headers规则(如“始终取消设置X-Frame-Options标头”)将无法满足要求。SAMEORIGIN值将始终到达客户端。为了解决这个问题,我添加了两个而不是一个mod_headers规则(在最外层的
httpd.conf
文件中):第一个规则告诉任何内部请求处理程序,其他代理已经承担了防止点击劫持的责任,它可以跳过保存世界的尝试,它以“早期”处理运行;第二个规则去掉完全不需要的X-Frame-Options头,它以“后期”处理运行。
我还添加了适当的Content-Security-Policy头文件,这样世界仍然受到保护,而来自可信站点的多源JavaScript仍然可以运行。
avwztpqn6#
您必须首先在服务器中启用mod_headers
sudo a2enmod标头
sudo服务apache2重新启动