我有一個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