我有一个Facebook应用程序,它可以在Facebook或直接在域上工作。Facebook应用程序:阻止从域名直接访问
但我不想要它。
www.mydomain.com/myapp //这不应该工作。
你应该去:
apps.facebook.com/myapp
抱歉不好英语。
任何人都可以帮助我,我会很高兴。
我有一个Facebook应用程序,它可以在Facebook或直接在域上工作。Facebook应用程序:阻止从域名直接访问
但我不想要它。
www.mydomain.com/myapp //这不应该工作。
你应该去:
apps.facebook.com/myapp
抱歉不好英语。
任何人都可以帮助我,我会很高兴。
根据URL进行重定向到您想要用户去:
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
}
由于Same-Origin Policy
因为Same-Origin Policy
,所以不会有检查apps.facebook.com框架的好方法。我建议你只是要检测的途径,如果你是在一个框架都在JavaScript这样的:
if(window == window.top) window.top.location='http://apps.facebook.com/whatever/';
它不会阻止别人从你iframing但至少你的域名将您重定向到Facebook页面。
[预防脸书画布应用程序被直接/在Facebook之外访问]的可能重复(http://stackoverflow.com/questions/6295741/prevent-facebook-canvas-app-from-being-accessed-directly-outside -of-facebook) – ceejayoz 2012-03-26 21:24:00