我正在开发一个独立运行的网站,作为iframe上的facebook应用程序,我想知道在页面加载之前检查我的页面是否在facebook iframe中运行的"最佳实践",以便我可以预设相关的CSS和其他变量
谢谢.
$signed_request = $_POST['signed_request'];
if(empty($signed_request))
die('No direct access.');
Run Code Online (Sandbox Code Playgroud)
有几种方法可以解决这个问题.如果您不关心安全性(即您真的只想知道如何格式化页面而不是决定要显示的内容),那么您最好的选择可能是使用不同的URL进行Facebook访问.例如,如果您的独立站点是www.mysite.com,则可以将fb.mysite.com或www.mysite.com/fb配置为指向同一位置,然后在应用程序设置中使用备用版本.然后,您的服务器代码可以轻松检查正在访问的URL版本并采取相应措施.当然,您必须小心处理您的链接,以确保它们保持正确的前缀.
另一种方法是使用所讨论的signed_request,在它存在时设置cookie(或会话)以指示Facebook访问.其中的诀窍是在每个页面的顶部还包含一些javascript代码,用于检查页面是否在iframe中.如果没有,则代码立即重定向回当前页面,其中添加的参数如"?clearfb = 1",它将告诉服务器清除cookie /会话并以外部格式输出页面.
归档时间: |
|
查看次数: |
8524 次 |
最近记录: |