1

バックグラウンド

Twitterのjavascriptapiを使用したいとしましょう。ツイッターのJavaScriptAPIは言う

OAuthでJavaScriptを使用する場合は注意が必要です。キーを公開しないでください[1]

OAuthでJavaScriptを使用するのは安全ではないようです[2]。ネットワークの問題(httpsを使用できます)によるものではありませんが、view-sourceにアクセスできるユーザーは、JavaScriptでハードコーディングされたキーも表示できるためです。これらのキーを使用すると、ユーザーはアプリとは関係なくTwitterアカウントを制御できます。

私が見た中で最良のアプローチは、YQL [3]を使用することです。しかし、自分のサーバーでこれを行うのはどうでしょうか。

次のシナリオは安全ですか、それともあいまいですか?

シナリオ

Twitterのjavascriptapiを使用して、Twitterアカウントへのアクセスを制御することを計画しています。

ユーザーにAPIクレデンシャルへのビューソースアクセスを許可する問題を解決するために、すべてのTwitterAPI通信を単一の公開ページ(Post.phpなど)に集中させるとします。すべてのユーザーがこのページにアクセスできないようにするには、URLにGUIDを要求できます:Post.php?pass = 91626979-FB5C-439A-BBA3-7715ED647504

サーバー側のアプリケーションは、サーバー上で一意のGUIDが認識されているため、このページにhttpリクエストを送信します。

api通信はjavascriptのままである可​​能性がありますが、そのjavascriptへのアクセスは、guidと呼ばれるサーバーを介して保護されます。httpリクエストはサーバー上で開始されるため、トラフィックを確認してリクエストを表示する方法はありません。GUIDはクライアントのソースに含まれません。クライアントはサーバー関数にリクエストを送信し、サーバー関数はPost.phpに対してサーバー側のhttpリクエストを実行します。

これにより、基本的にブラウザからPost.phpにアクセスできなくなります。本質的に、サーバーはjavascriptapi呼び出しを開始します。

これは安全ですか、それともあいまいですか? (もちろんjavascriptを介して)より良いアプローチがありますか?

4

1 に答える 1

1

以下の説明を更新します。クライアントがログインを介して認証されるサーバーがあり、サーバーが twitter への投稿を処理します。信頼できるサーバーのみが Twitter の資格情報を持っているため、クライアントはそれを通過することしかできません。

正常に動作します。

于 2012-04-20T16:16:05.173 に答える