一尘不染

检查网站是否在iframe中

php

任何人都知道是否可以使用PHP检查网站是否在iframe中。

我知道使用javascript是可能的,但是我找不到使用PHP的任何示例?


阅读 357

收藏
2020-05-29

共1个答案

一尘不染

PHP永远不在iframe中。PHP在服务器端执行,并生成HTML,Javascript或文本之类的输出。PHP生成的输出可能会产生或驻留在iframe中,但PHP本身不会。


更多细节

关于您在注释中添加的其他详细信息(您希望在直接向站点的请求和通过Facebook应用程序的请求之间进行区分),可以使用以下几种技术:

  1. $ _SERVER [‘HTTP_REFERER’]:

您可以检查引荐来源网址,以确定请求是否来自Facebook
URL,来自您自己站点上的另一个页面,来自第三方站点,或者是直接流量。此方法并非万无一失,但可能提供的信息比您的应用程序当前收到的信息更多。

  1. 单独的URL

您可以为网站上运行的应用程序和Facebook版本创建单独的URL。使用$_SERVER['REQUEST_URI'],您可以轻松检测是通过“
yoursite.com/fbapp”还是“
yoursite.com/localapp”访问了您的应用程序。这两个URL可以通过Apache的mod_rewrite或您选择的别名解决方案引用相同的脚本。

  1. URL参数

此方法可能是最容易实现的。如果在向Facebook提供应用程序URL时可以提供URL参数,则只需添加一个参数即可。例如:

?access_method=facebook

在PHP中,您可以轻松检查access_method参数的存在和值,并根据需要采取措施。

2020-05-29