【问题标题】:Setting X-Frame-Options in PHP在 PHP 中设置 X-Frame-Options
【发布时间】:2019-11-10 12:32:30
【问题描述】:

我如何在我的 PHP 代码中设置 X-Frame-Options 以便它可以出现在我服务器的所有网页中。基本上,我试图避免 iframe 加载我的网络应用程序。

【问题讨论】:

  • 您是否或多或少像帮助台requires 一样在stackoverflow 上进行搜索? PHP prevent iframe loadingPHP X-Frame-Options 之类的东西,因为我很确定这个问题可以被标记为重复..
  • ...Browser compatibility off X-Frame-Options 也不是很宽..
  • 感谢@Raymond Nijland 的输入。您能否建议所有浏览器兼容的替代方案?
  • Content-Security-Policy 标准中,还有一个策略来阻止 iframe/object 标签加载。但是 jet 再次只有浏览器支持它。为了获得更多的备份兼容性,你也很可能想使用一些 javascript 来打破 iframe 但仍然可以关闭 javascript..
  • owasp 对此有很好的信息。他们称之为 Clickjacking,因为这种方法主要是通过隐藏的 iframe 在水下做某事来完成的。就像 youtube/facebook 投票一样你从来不知道你做到了..

标签: php


【解决方案1】:

在你的 php 文件中使用下面的输出响应到客户端。

header("X-Frame-Options: DENY");

DENY 将完全阻止。您也可以尝试 SAMEORIGIN 选项。

header("X-Frame-Options: SAMEORIGIN");

如果你使用的是apache web server,你也可以直接在httpd.conf中设置。

<Directory />
    ...
    Header always set X-Frame-Options "SAMEORIGIN"
</Directory>

【讨论】:

    【解决方案2】:

    X-Frame-Options 可防止您的网站内容嵌入其他网站。浏览器允许其他网站在 iframe 中打开网页。它还可以保护您的 Apache Web 服务器免受点击劫持攻击。

    可以使用 X-Frame-Options 设置三个选项:

    SAMEORIGIN’ - 使用此设置,您可以在同源上嵌入页面。例如,将页面的 iframe 添加到网站本身。

    ALLOW-FROM uri - 使用此设置允许特定来源(网站/域)在 iframe 中嵌入您网站的页面。

    DENY - 这将不允许任何网站将您的网站页面嵌入 iframe。

    我们有两种方法来设置 X-Frame-Options

    1.使用 Apache 配置

    2。使用 .htaccess

    使用 Apache 配置:

    基于 Debian 的系统:/etc/apache2/conf-enabled/security.conf 基于 Redhat 的系统:/etc/httpd/conf/httpd.conf

    Header set X-Frame-Options: "SAMEORIGIN"  #Allow for Same Origin (Default Action)
    Header set X-Frame-Options: "ALLOW-FROM http://example.com/" #Allow from specific origin
    Header set X-Frame-Options: "DENY" #Deny to everyone
    

    使用 .htaccess

    Header append X-Frame-Options: "SAMEORIGIN"
    

    【讨论】:

      猜你喜欢
      • 2019-09-21
      • 2019-04-09
      • 2020-07-21
      • 1970-01-01
      • 1970-01-01
      • 2018-04-10
      • 2015-02-06
      相关资源
      最近更新 更多