确定my_page是否仅由facebook加载的最佳方法

时间:2013-02-04 13:29:48

标签: facebook iframe request facebook-javascript-sdk facebook-canvas

有没有一种可靠的方法来确定my_page是否被加载到只有facebook的iframe中?


一些部分有用的技术:

A (php) - php $ _REQUEST似乎有一些隐含的可能性,但似乎有问题,因为我相信它可以被其他网站模仿。

B (js) - 我可以使用js来执行(self == parent)来确定my_page是否被加载到父框架中......但是我不能得到任何信息。例如,父母的网址。

C (fb-jsSDK) - facebook javascript SDK为我提供了一些关于my_page是否由登录用户加载的信息,但似乎没有信息如果由未登录的用户加载。


IGY(以及其他人):请不要丢弃我的帖子......如果你知道在互联网上有更好的地方提出这个问题,请告诉我。 Facebook建议开发人员来这里提问。

1 个答案:

答案 0 :(得分:1)

我认为最好的方法是查找signed_request参数 - 当成功验证它时,您可以确定它是初始的直接在Facebook上将您的应用加载到画布或页面标签iframe中。

(验证signed_request需要您的应用程序保密,只有您和Facebook知道这一点。)

由于您的页面初始加载时只获得signed_request,因此您应该将该信息 - 页面已在facebook.com上的iframe中调用 - 进入您的会话,以便您可以在后续页面上查找。