同名の質問はほとんどありませんが、私の心に何があるのかを尋ねるものはありません。そこで、FB js sdkをapp idだけで初期化します。 Facebookの初期化ソースコードを見れば、他のWebサイトのアプリIDを知ることは簡単です。ハッカーが他のアプリIDを使用してFB JS SDKを初期化し、ユーザーアクセストークンを取得しようとする可能性があると考えるかもしれません。しかし、Facebookはそのようなものを許可していません。 Facebook Developer Appsページのsite urlプロパティで指定したのと同じドメインからjs sdkをロードする必要があります。ですから、問題は、どのような呼び出しが適切なクライアントから来るのか、彼らがjsonpをどのように知っていますか?彼らが望むように人々がjavascriptをコピーし修正することができるので、クライアント側のチェックでは安全ではありません。したがって、サーバ側のチェックが必要です。私は「リファラーチェック」としか考えられませんが、安全な方法とはみなされないと感じています。これが唯一の憶測ですのでFacebook Javascript SDKセキュリティ。 Facebookは、アプリケーション設定で指定された正しいドメインにJS SDKがロードされていることをどのように確認しますか?
答えて
まあ、私は... httpリクエストを作成するときに、SDKにあなたがしている、そこからURLを読み込むときHTTP referer headerがそのように添加し、全ての
まず、わからないんだけどリクエストを作成することはリファラーとして追加されます。 Facebookはリクエストの発信元のサーバーをチェックして、アプリの設定の内容と比較することができます。
間違ったドメインにいる場合は、アプリのsdkを読み込むだけでエラーが発生しないため、リクエスト時にこのヘッダーを変更することはもちろん可能です。
アン:あなたは、次のエラーメッセージが表示されます認証ダイアログのポップアップが開きますFB.loginメソッドを実行しようとして例えば、SDKと対話しようとすると、 エラーは発生しますエラーが発生しました。後でもう一度お試しください。
あなたはこれらの2つのクエリ文字列パラメータを気づくでしょう(SDK構造物)は、この認証ダイアログのURLを確認した場合:起源が含まれています
- ドメイン= THE_DOMAIN_OF_THE_PAGE
- REDIRECT_URI = FACEBOOK_URLを、ドメインとリレーション=オープナー
どうやら(おそらく)起こるのは、ドメインがアプリの設定に対してドメインをチェックするということです。大丈夫なら、ユーザーに認証ダイアログを表示します。プロセスを終了し、redirect_uriにリダイレクトされます。
redirect_uriはポップアップで開くので、同じドメインにある場合はオープナーとしか通信できません。つまり、誰も自分のページに持っていないFacebookのドメインです。
SDK負荷が理由ポップアップウィンドウがIFRAMEバック通信できることから、REDIRECT_URIと同じドメインからロードされたFacebookのJSをロードFB-ルート容器にIFRAMEを追加auth応答で通知します。
iframeが応答を受け取ると、ポップアップが閉じ、iframeはメインページの応答の読み込まれたsdkに通知します。 私はその通信にどの技術を使用しているのかよく分かりませんが、 "iframeとのクロスドメイン通信"でグーグルで情報を見つけることは簡単です。
これは私の見方ですが、わかりません。 実際に何が起こっているのかを知りたい場合は、js sdk @ githubのコードを確認できます。
- 1. Facebook SDKのメールと性別が指定されています。
- 2. Facebook Javascript SDKセキュリティ
- 3. アプリケーションがバックグラウンドで実行されていないときにfacebook ios sdkでFacebookブックの壁に投稿できません。YESに設定しました
- 4. Facebook Javascript SDKがブラウザでサポートされているかどうかを確認する方法
- 5. 「ゲストは友人を招待しましょう」はtrueに設定されています - Facebook API(PHP SDK)
- 6. Facebook SDKのWordpressに間違った言語がロードされています
- 7. Codeignitor、Facebook javascript SDK、PHP SDK Facebookのログイン後にリダイレクトすると、リフレッシュまでgetUser()がリフレッシュされます
- 8. FacebookのJavascript SDKが初期化されていません
- 9. Facebook SDK Facebook SDKがインストールされたiOSログイン
- 10. Facebook SDK + Google SDK:アクセスするフレームに「document.domain」を「facebook.com」に設定します
- 11. Facebook PHP SDK - ユーザーが認証されていません
- 12. PHPのSDKを使用してFacebookで再認証を行うにはどうすればよいですか?
- 13. アンドロイドSDKバージョンはどこに定義されていますか?
- 14. Javascript API - オプションのjs sdkモジュールで定義されていない
- 15. AngularJSコントローラにFacebook JavaScript SDKを正しく挿入するにはどうすればいいですか?
- 16. FacebookのJS SDK - 私はFacebookのJavaScriptのSDKを使用してユーザーがログインされているかどうかを判断しようとしているFB.getLoginStatus =未定義
- 17. Facebook PHP SDK 3.0(ユーザーがログインしていることを確認してください)
- 18. Facebook Js Sdk、publish_actionsが動作しない
- 19. データソースが有効で、正しく設定されていることを確認するにはどうすればよいですか?アプリケーションで
- 20. 新しいjavascript SDKを使用してFacebook SDKの403の禁止ページが表示されますが、招待状が正常に送信されます
- 21. Android Pre-Dex:アンドロイドSDKなしでAndroid SDKが指定されていません
- 22. Android + Facebook SDK + "message"プロパティは無視されるようになりましたか?
- 23. キーボードが表示されない、facebook sdk
- 24. Unity Facebook SDK Androidがビルドされない
- 25. Facebook sdk LikeView。インストールされているFacebookアプリケーションを無視する方法
- 26. FB.loginコール後にFacebook JavaScript SDKがクロムにアクセストークンクッキーを設定しない
- 27. vimスクリプトで、.vimrcで設定が指定されているかどうかを確認するには?
- 28. facebook js sdk language
- 29. Facebook SDKがJavascriptで動作しない
- 30. Facebook-SDKで公開されたビデオ、iPhoneのFacebookブックアプリで再生されない
私の推測では、自分のサーバーもrefererヘッダーをチェックすることになります。それでも、この情報が真実であることを保証するものではありません。すなわち、refererでHTTPリクエストを作成するのが非常に簡単です。 'curl'自体が可能です。 –