フラッシュやその他のWebテクノロジーに関する私の知識はそれほど良くありませんが、アプリケーション用の独自のAPI(Facebookなど)を備えたサイトは、アプリケーションからの呼び出しをどのように認証するのでしょうか。私はFacebookAPIにあまり詳しくありませんが、Vkontakte(同様のサイト)は秘密鍵、セッションID、およびメソッドパラメーターを使用してクエリを生成します。悪意のある人が、アプリケーションの実行中にこれらのパラメーターを処理し、パケットを変更するなどしてまったく異なるクエリを送信できないのはなぜですか?Vkontakte用のアプリケーションを作成することを計画していましたが、アプリケーションがどのように保護されているのかわかりません。また、誰かがこれらの質問に関する文献を私に勧めてくれれば、私は非常にありがたいです。
1 に答える
3
安全性は、共有秘密が Web 経由で送信されてはならないという事実にあります。たとえば、Facebook では、アプリ シークレットを使用してサーバー上の Cookie を検証します。サーバーで検証を行っていない場合は、アクセストークンなどは安全ではないという点で正しいです。ただし、これらのサイトでは、アクセス トークンが 1 人のユーザーに関連付けられていることに注意してください。したがって、その人が Cookie などを変更したとしても、アクセス トークンには 1 つの Facebook アカウントへのアクセス許可しかありません。そのため、その人は自分のアカウントに対して悪意のあることを行っていることになります.
そのため、Flash や JavaScript の場合は、常にアクセス トークンと Cookie データが安全ではないと想定します。Cookie データを検証して、Cookie が正当なソースからのものであることを確認した後でのみ、サーバー上で行う必要があるセキュリティ上重要なすべてのこと。vkontakte も非常によく似た方法で機能すると思います。
繰り返しますが、最も重要なことは、サーバーの外部に秘密鍵を送信しないことです。
于 2010-10-26T22:30:46.487 に答える