0

有没有办法拒绝直接访问 facebook 应用程序的应用程序服务器?

Facebook 通过 iFrame src=http://app-domain/ 加载应用程序,但您可以清楚地查看页面源并找出该域并将 URL 复制粘贴到浏览器中并直接查看应用程序。

API中有这个signed_request和oauth_token,我想知道如何使用它或者我是否可以使用它来限制对应用程序的直接访问。

因此,如果用户在浏览器中输入您的应用程序的 URL,他将被重定向到 Facebook。

谢谢你。

编辑:我找到了一种也适用于表单提交的方法。

// Signed request
$signed_request = $facebook->getSignedRequest();
if(!$signed_request) header("Location: " . $settings['appBaseUrl']);

这会在直接访问应用程序而不是通过 facebook 时重定向浏览器。

4

3 回答 3

2

如果禁用 javascript,它将无法工作。

<script type="text/javascript">
    var isInIFrame = (window.location != window.parent.location) ? true : false;

    if(!isInIFrame){
                window.location = 'link-of-application-page';
    }

</script>
于 2011-06-24T13:11:58.320 回答
0

我找到了一种也适用于表单提交的方法。(对我有用,它可能对你不起作用。先测试一下。)

// Signed request
$signed_request = $facebook->getSignedRequest();
if(!$signed_request) header("Location: " . $settings['appBaseUrl']);

这会在直接访问应用程序而不是通过 facebook 时重定向浏览器。

于 2012-03-07T12:07:05.123 回答
0

您需要一些 Javascript 来检测您是否在 Facebook 的框架中,如果不在,请重定向到它。

于 2011-06-24T11:09:49.827 回答