2012-05-10 26 views
4

Google Static Maps APIを考えています。これは、1,000個の静的マップに限定されています。クライアントのすべてが公開されている場合、どのようにアカウントやそのような情報を把握していますか?ブラウザ内クライアント側APIの認証?

ほとんどのサーバー間APIについては、access_token/key/etcが指定されています。私は私が本当に私であることを証明するためにサービスに渡すことができますが、クライアント上でそのようなアクセストークン/キー/ etc。すぐに一般に知られるようになるだろう。

一般に、クライアントサイドライブラリ(FB SDK、Stripe、Googleなど)のどの戦略を使用して認証を行い、クライアントのすべてが公開されているという事実をどのように回避しますか?

+0

Googleスタティックマップでは、Googleのサーバーから地図画像をリクエストする必要があるため、その時点で使用状況を検出できます。クライアントから送信されたHTTPリファラー情報を使用して、各リクエストをアカウントに割り当てることがあります。あなたは正確に何を達成しようとしていますか? – eggyal

+0

私の質問は次のようなものだと思います。Googleが実際に画像をリクエストしているサイトのページであることをGoogleがどのように認識していますか?誰かが自分のページからURLをコピーしたり、パラメータを変更したり、自分のサイト全体でURLをコピーしたり、プロセスで自分のクォータを使い切ったりするのを止めるのはなぜですか? –

+0

ユーザーのブラウザには、参照ページのアドレスのヘッダー情報がヘッダーに含まれています...ユーザー自身が誰か他のサイトを誤って報告するように操作することができますが、それは別のサイトとは異なるものですあなたが描く方法で行うことができます。 – eggyal

答えて

1

APIキーをホワイトリストby hostに設定すると、ホワイトリストに一致するリファラーを送信するサイトからのみAPIキーを使用できるようにGoogleマップに指示できます。他のいくつかのサイトは、あなたのAPIキーを使用している場合

、彼らは負荷にこのエラーメッセージが表示されます:

このウェブサイトは、別のGoogle Maps APIキーを必要とします。 http://code.google.com/apis/maps/documentation/javascript/v2/introduction.html#Obtaining_Keyに新しい鍵を生成することができます。 Googleのためのサンプルサイトは、それはによってホストされていないマッピングしhttp://www.microsoft.com/

  • アクセス、たとえば、にリファラーをオーバーライドし、

    • の拡張機能を使用して:あなたはFirefox用RefControl extensionを使用して、この自分を確認することができます

  • google - eg、http://econym.org.uk/gmap/example_controlpos.htm

  • エラーが発生します。実際にすべてのWebブラウザが要求の一部としてリファラ(i.e., the URI of the resource which links to it)を送る

    • :これは動作します

  • 誰かがあなたのAPIキーを盗む(あなたが言っているように、公開されている文字列なので)、彼らは盗んだサイトと一致するようにすべてのユーザに参照元を上書きするよう伝える必要があります)。
  • Googleはリファラーを含まないリクエストを許可しているようですが、この情報を除外するように設定されているブラウザの量はごくわずかなので気にする必要はありません。