0

クロスドメインログインを実装する必要があるWebサイトが多数あります。誰かが資格情報を使用してサイト X にログインした場合、ユーザーがサイト A または B に移動すると、サイト A または B に自動的にログインする必要があります。

また、すべてのサイトが HTML ファイルに配置できる共通の UI/Javascript を提供したいと考えています。これは内部的に共通の API を呼び出し、サイト A または B にユーザーを何らかの方法でログインさせます。

それはFacebookが持っているものに似ています。facebook にログオンしてサイトにアクセスすると、そのサイトのアクセス許可が付与されていれば、自動的にログインされます。

また、同じ facebook UI が facebook ソーシャル プラグインを持つすべてのサイトに存在し、facebook プラグインを含むサイトは、独自のサーバーから facebook を呼び出す必要はありません (呼び出しはブラウザーから行われると思います)。

facebook への呼び出しには、そのアプリで使用される API キーが含まれていることがわかりましたが、API キーは表示されているため、シークレットではなくなりました。FB は、同じ API キーによるサーバーへのランダムな DOS 攻撃をどのように防ぎますか?また、ユーザーが自分の IP アドレスをランダムに変更した場合は?

APIキーが公開されているため(FBの場合と同様)、Xに関連付けられているすべてのWebサイトA、Bと同様の実装を試みたとしましょう。別の不正なサイト、たとえばABC.comの使用を停止するにはどうすればよいですか同じ API キーを使用し、あたかもネットワークの一部であるかのように動作します。

呼び出しはブラウザーからで、JavaScript からであるため、API キーは常に公開されていると思います。API キーが秘密に保たれるように、呼び出しは常にサーバーから行う必要がありますか?

私の場合、A、B などのさまざまなネットワーク化された Web サイトの UI が X のサーバーに何かを渡すにはどうすればよいでしょうか。サーバー X は、呼び出しが実際に信頼できるソースからのものであり、偽装されていないことを識別できますか?

ありがとうございました

トゥコ

4

1 に答える 1

1

Facebookの呼び出しには、そのアプリで使用されるAPIキーが含まれていることがわかりましたが、APIキーが表示されているため、秘密ではなくなりました。

誰もそうだとは言いませんでした。

FBは、同じAPIキーによるサーバーへのランダムなDOS攻撃をどのように防止しますか?また、ユーザーが自分のIPアドレスをランダムに変更した場合はどうなりますか?

特定のアクション、feログインでは、アプリはアプリ設定で設定された特定のドメインに関連付けられます。私のアプリがexample.comからFacebookを介したユーザーログインを許可している場合、exampleの場合はログインが機能しません。netは私のアプリIDを取得し、ユーザーにドメインからそれに接続させようとします。

呼び出しはブラウザからであり、JavaScriptからであるため、APIキーは常に公開されていると思います。APIキーが秘密にされるように、呼び出しは常にサーバーからである必要がありますか?

アプリシークレットを使用した呼び出しは、常にサーバー側でのみ行う必要があります。

私の場合、A、BなどのさまざまなネットワークWebサイトのUIがXのサーバーに何かを渡すことができるので、サーバーXは、呼び出しが実際に信頼できるソースから発信されており、偽装されていないことを識別できますか?

Facebook JS SDKは、たとえば、現在実行されているドメインをチェックします。

これはクライアント側であり、操作できるため、他のセキュリティ対策も実施されています。Fe、Facebookはクライアントを特定のドメイン内のアドレスにリダイレクトするだけであり、サーバー側の通信では、アプリのシークレットを使用して確認できるsigned_requestを提供します。

于 2012-10-18T09:28:03.343 に答える