我试图使用我的一些网站作为一个iframe
从不同的网站我。
我的问题是-其他网站总是不断地改变他的IP地址,没有域名。
所以,我读到过你可以通过在/etc/nginx/nginx.conf
中添加这个lint来allo一个特定的域:
add_header X-Frame-Options "ALLOW-FROM https://subdomain.example.com/";
我的问题是:允许我的站点从所有IP地址和域导入为iframe是可能的吗?我应该写什么来实现这一点?
我使用的是Ubuntu 16.04和nginx 1.10.0。
4条答案
按热度按时间wkyowqbh1#
如果设置了它,则只能将其设置为DENY、SAMEORIGIN或ALLOW-FROM(特定原点)。
允许所有域是默认的。如果你想要的话,不要设置
X-Frame-Options
头。注意,
X-Frame-Options
的后继者-CSP'sframe-ancestors
directive-接受一个允许的起源的 * 列表 *,因此您可以轻松地允许 * 一些 * 起源,而不是没有、一个或全部起源。dwthyt8l2#
ALLOWALL是缺省值。
有时框架MVC,如Rails、Laravel、Django等,会将X_FRAME_OPTIONS设置为SAMEORIGIN,因此可能需要将其重置为原始的
ALLOWALL
值。ppcbkaq53#
结束对我工作的是
ALLOW-FROM *
。我使用的是
ALLOWALL
,但如上所述,这不再是一个有效的选项,而且我们的PCI扫描也会因为使用了过时的值而被标记。正如Francesco Meli提到的,Rails默认为ALLOWALL
,但将其更改为ALLOW-FROM *
就成功了!g6baxovj4#
你可以从服务器检查远程主机的IP地址,然后发送一个X-Frame-Options响应HTTP头,其值为:“允许发件人ip地址”,其中ip地址是尝试在您的服务器上嵌入内容的远程ip地址。这将允许您的网站被所有使用浏览器中的ip地址访问的网站嵌入。
另一种选择是将内容嵌入到iframe中,并将域名包含在iframe源url中。服务器可以读取域名参数,并将其包含在X-Frame-Options响应头中。