【问题标题】:prevent page opening on an iframe?防止在 iframe 上打开页面?
【发布时间】:2011-02-09 17:15:07
【问题描述】:

如何防止使用 PHP 在 iframe 上打开页面?就像 iframe 中的 Gmail?

【问题讨论】:

    标签: php iframe


    【解决方案1】:

    对于PHP,可以使用。

    header("X-FRAME-OPTIONS: DENY");
    

    这仅在现代浏览器、IE8+、Firefox 3.6.9、Safari 4 和 Chrome 中受支持。对于较旧的浏览器,您还需要一些 JavaScript。

    【讨论】:

    • 还有 header("X-Frame-Options:SAMEORIGIN");仅允许在同一域上打开 iFrame。如果您出于安全目的这样做,您还可以添加: header("X-XSS-Protection:1; mode=block");
    【解决方案2】:

    你可以用 JavaScript 做到这一点

    if( (self.parent && !(self.parent===self))
        &&(self.parent.frames.length!=0)){
        self.parent.location=document.location
    }
    

    这将从在 iframe 中打开您的页面的页面重定向到您的页面。

    【讨论】:

      【解决方案3】:

      您无法通过 PHP 代码知道当前页面是否正在加载到某人的 iframe 中。 PHP 在服务器上运行,然后将任何内容发送到浏览器。

      只有在浏览器中运行的 JavaScript 才能检测其窗口是否为父窗口并对其进行处理。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-22
        相关资源
        最近更新 更多