ıはfacebookアプリケーションを持っており、facebookまたはドメイン上で直接動作します。Facebookアプリケーション:ドメインからの直接アクセスをブロックする
だがそれは欲しくない。
www.mydomain.com/myapp //これはうまくいきません。あなたが行くべき
:
apps.facebook.com/myappの悪い英語のための
申し訳ありません。
誰でも私を助けることができます、私はうれしいです。 URLによって
ıは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
のためにapps.facebook.comフレームを確認する良い方法はありません。私はあなたがすべてで、このようなJavaScriptでフレーム内にある場合にだけ検出のルートを行くのをお勧めしたい:
if(window == window.top) window.top.location='http://apps.facebook.com/whatever/';
それはあなたをiframingから他の誰かを防ぐことはできませんが、少なくともあなたのドメインはあなたをリダイレクトしますFacebookページへ。
[フェイスブックキャンバスアプリの直接/外部のアクセスを禁止](http://stackoverflow.com/questions/6295741/prevent-facebook-canvas-app-from-being-accessed-directly-outside -of-facebook) – ceejayoz