Facebook应用程序:阻止从域直接访问

时间:2012-03-26 20:54:34

标签: php facebook facebook-apps

ı有一个Facebook应用程序,它适用于Facebook或直接在域上。

但是我不想要它。

www.mydomain.com/myapp //这不起作用。

你应该去:

apps.facebook.com/myapp

抱歉英语不好。

任何人都可以帮助我,我会很高兴。

2 个答案:

答案 0 :(得分:1)

根据网址的不同,重定向到您希望用户前往的位置:

if ($_SERVER["SERVER_NAME"] != "apps.facebook.com")
{
header('Location: http://apps.facebook.com/myapp');   
}

如果你只想要你的domain.com和apps.facebook.com

if ($_SERVER["SERVER_NAME"] != "apps.facebook.com" && $_SERVER["SERVER_NAME"] != "mydomain.com" )
{
header('Location: http://apps.facebook.com/myapp');   
}

或通过文件夹

中的.htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.mydomain.com$[OR]
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^(.*)$ http://apps.facebook.com/myapp/$1 [R=301,L]

或简单地放在你的php页面顶部

if ($_SERVER["SERVER_NAME"] != "apps.facebook.com")
{
echo "Error please visit my apps via facebook";
return   
}

答案 1 :(得分:0)

由于Same-Origin Policy,检查apps.facebook.com框架不是一个好方法。我建议你去检测你是否在一个框架中的路径,如下所示:

if(window == window.top) window.top.location='http://apps.facebook.com/whatever/';

它不会阻止其他人对您进行操作,但至少您的域名会将您重定向到Facebook页面。