Apache X-Frame-Options 允许来自多个域

2024-01-29

当我在 apache 中使用 x-frame headers 选项时出现错误。

Header always append X-Frame-Options ALLOW-FROM site1,site2,site3

or

Header always append X-Frame-Options ALLOW-FROM=site1,site2,site3

or

Header always append X-Frame-Options ALLOW-FROM=site1
Header always append X-Frame-Options ALLOW-FROM=site2
Header always append X-Frame-Options ALLOW-FROM=site3

我如何设置 X-Frame-Options: ALLOW-FROM 以支持多个域?

Thanks!


值得注意的是 ALLOW-FROM 正在从 Firefox 70 中删除 https://www.fxsitecompat.dev/en-CA/docs/2019/x-frame-options-allow-from-directive-has-been-removed/,其他浏览器也可能会效仿。您将需要使用 CSP框架祖先 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors相反,该指令受支持约95% https://caniuse.com/contentsecuritypolicy2的浏览器。

那么你的例子将是:

Header always append Content-Security-Policy "frame-ancestors site1 site2 site3;"

编辑:frame-ancestors 在新浏览器中覆盖 X-FRAME-OPTIONS,因此理论上您可以为旧浏览器设置一个值,并让 CSP 在新浏览器中覆盖它,但问题是没有 X-FRAME-OPTIONS 值这将使您嵌入多个网页。唯一有效的选项是拒绝(任何地方都不允许)、同源(仅限您的网站)和允许(从现代浏览器中删除,无论如何只允许一个网站)。

您想要覆盖的旧 X-FRAME-OPTIONS 值根本没有。这将允许您将您的网站嵌入到多个其他网站(所有这些网站)中,并将其限制为您在现代浏览器中允许的网站。

如果不嵌入不允许的站点比嵌入允许的站点更重要,则将上述内容与以下内容结合起来:

Header always append X-Frame-Options "DENY"

这将阻止您的网站嵌入到大约 3% 的浏览器中的所有网站中,仅在 95% 的浏览器中允许的网站中显示,并在其余 2% 的浏览器中随处显示(甚至 X-FRAME-OPTIONS并非所有地方都支持 https://caniuse.com/x-frame-options).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apache X-Frame-Options 允许来自多个域 的相关文章

  • 请求的操作失败 - Apache 错误

    当我尝试启动 Apache 2 2 服务器时 它显示以下消息 请求的操作失败 在命令提示符中显示如下 C Documents and Settings amth gt net start apache2 2 The Apache2 2 se
  • SVN运行上下文错误:现有连接被远程主机强制关闭

    我在 Debian Wheezy 构建服务器上创建了一个 SVN 存储库 如下所示本教程 http www networkworld com article 2224093 opensource subnet use subversion
  • 显式删除会话cookie会产生什么影响?

    我使用 php session 来维护用户的会话 Session 在登录后创建 在注销或超时后销毁 我需要管理面板中的一个选项来强制注销任何用户 如果他在网站上处于活动状态 我怎样才能做到这一点 我正在考虑删除临时会话文件 这应该有效地破坏
  • 让 Rails 生产在端口 80 上运行

    我正在尝试让我的 Rails 应用程序在生产模式下运行 但遇到了一些困难 我正在使用 Passenger 和 apache 并运行 Ubuntu 12 04 我已经配置和创建了生产数据库 并设置了乘客 状态如下 rvmsudo passen
  • Apache 未发送 304 响应(如果启用了 mod_deflate 和 AddOutputFilterByType)

    我在 Apache httpd conf 中添加了以下行 AddOutputFilterByType DEFLATE text html text css application javascript application x javas
  • 如何让Apache服务index.php而不是index.html?

    如果我将以下行放入index html文件 使 Apache 包含index php file 参观index html页面向我显示了这个 这是为什么 为什么它实际上不包含 PHP 文件 正如其他人指出的那样 您很可能没有 html设置为处
  • DBus 是我要找的吗?

    我需要一个Linux上的IPC系统 我的要求是 面向数据包 消息 能够处理点对点和一对多通信 没有层次结构 没有服务器和客户端 如果一个端点崩溃 必须通知其他端点 现有 Linux 发行版的良好支持 Apache 存在 绑定 用于创建动态页
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • 如果django项目位于子文件夹和子域中,如何编写.htaccess?

    我的 django 站点的路径是 staging ninjawebsite com clients project 我希望将其视为基本网址 django 项目位于public html clients project子文件夹 一切似乎都工作
  • NoInitialContextException:heroku 战争部署

    我一直在开发一个 J2EE 项目 并且在其中使用连接池 也通过部署在 heroku 上的数据库进行访问 我使用以下代码来设置 Connection 对象 Context initContext new InitialContext Cont
  • 从子域中的 ../ 路径

    假设我创建了一个子域 http subdomain mydomain com http subdomain mydomain com 最初是在这个网址 http mydomain com subfolder folder http mydo
  • 向 .htaccess 添加 HTTP 严格传输安全

    我想将 HTTP 严格传输安全指令添加到我的 htaccess 文件中 我已在此处的代码末尾添加了锁 但是当我测试测试 HSTS 预加载过程时 它显示设置未设置 我检查了 Apache 配置并看到 headers 模块已启用 我缺少什么
  • 在浏览器中读取wsdl文件

    当我尝试在浏览器中打开 WSDL 文件 http localhost something file wsdl 时 我被提议下载该文件 但我希望能够在浏览器中以 XML 字符串 形式查看 而不是下载 谢谢 如果您的服务器未发送 WSDL 文件
  • 如何关闭 Zend Server 中的默认 HTTP 状态代码错误?

    每次我在 PHP 代码中返回一些状态代码时 Zend Server 都会在我的网站底部附加以下错误 带有我返回的 HTTP 代码的消息 例如 如果我返回 401 它会在我的 401 页面上附加另一个 401 错误 有什么办法可以关掉它吗 我
  • .htaccess 在本地主机上给出 500 错误

    我是 MVC 框架的初学者 我正在尝试根据教程创建一个自己的 他们提供的 htaccess 文件包含 RewriteEngine On RewriteCond REQUEST FILENAME d RewriteCond REQUEST F
  • php7ts.dll 无法加载到服务器

    今天我已经安装了php7 但是当我重新启动apache时 它无法启动 尽管我再次编辑了httpd xampp conf文件到配置php7 无论如何我去了C xampp并运行apache start bat 然后我看到以下错误 Apache
  • Apache LOG:子进程 pid xxxx 退出信号分段错误 (11)

    Apache PHP Mysql Linux 注意 子进程 pid 23145 退出信号分段错误 11 tmp 中可能存在 coredump 但 tmp下没有找到任何东西 我怎样才能找到错误 PHP 代码中函数的无限循环导致了此错误
  • Spring MVC http 500错误apache

    上面是我的程序的目录层次结构 我是 Spring 新手 正在学习 MVC 概念 我编写了一个程序 它将输入 名称 输入文本框并打印 Hello name 以下是我的目录结构和我创建的各种文件 web xml
  • 无法在 Netbeans 9 中设置 apache tomcat

    我正在尝试在 Netbeans IDE 9 中设置 apache tomcat 我已尝试以下步骤 但无法设置 在 工具 gt 服务器 中 我单击 添加服务器 按钮 显示以下消息 因此 我尝试从 工具 gt 插件 安装插件 会显示一个对话框
  • 将 apache documentRoot 设置为符号链接(以便于部署)

    我们正在寻找一种将 Apache DocumentRoot 指向符号链接的方法 例如 文档根目录 var www html finalbuild Finalbuild 应该指向 home user build3 之类的文件夹 当我们将新构建

随机推荐