有没有办法拒绝为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重定向浏览器。
答案 0 :(得分:2)
如果禁用了javascript,它将无效。
<script type="text/javascript">
var isInIFrame = (window.location != window.parent.location) ? true : false;
if(!isInIFrame){
window.location = 'link-of-application-page';
}
</script>
答案 1 :(得分:0)
你需要一些Javascript来检测你是否在Facebook的框架中,如果不是,请重定向到它。
答案 2 :(得分:0)
我找到了一种也适用于表单提交的方法。 (对我有用,它可能不适合你。先测试一下。)
// Signed request
$signed_request = $facebook->getSignedRequest();
if(!$signed_request) header("Location: " . $settings['appBaseUrl']);
这会直接访问应用程序而不是通过Facebook重定向浏览器。