4

Google Static Maps APIを考えています。これは、アカウントにサインアップすると、1000個の静的マップに制限されます。クライアント上のすべてが公開されている場合、どのようにしてアカウントなどを追跡しますか?

ほとんどのサーバー間APIには、access_token / key/etcが与えられています。これは、私が本当に私であることを証明するためにサービスに渡すことができますが、クライアントではそのようなaccess_token / key/etcです。すぐに公の知識になるでしょう。

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

4

1 に答える 1

1

ホストごとにホワイトリストにAPIキーを設定できます。これにより、ホワイトリストに一致するリファラーを送信するサイトからのみAPIキーを使用できるようにGoogleマップに指示されます。

他のサイトがAPIキーを使用している場合、ロード時に次のエラーメッセージが表示されます。

このウェブサイトには別のGoogleMapsAPIキーが必要です。新しいキーはhttp://code.google.com/apis/maps/documentation/javascript/v2/introduction.html#Obtaining_Keyで生成できます。

これは、FireFoxのRefControl拡張機能を使用して自分で確認できます。

これが機能する理由は次のとおりです。

  • 事実上、すべてのWebブラウザーは、要求の一部としてリファラー(つまり、それにリンクするリソースのURI)を送信します。
  • 誰かがあなたのAPIキーを盗むために(あなたが言うように、それは公に利用可能な文字列なので)、彼らはそれを盗んだサイトに一致するようにリファラーをオーバーライドするようにすべてのユーザーに伝える必要があります(これは明らかに実用的ではありません)。

Googleはリファラーを含まないリクエストを許可しているようです。この情報を除外するように構成されているブラウザーの数はごくわずかであるため、気にする価値はないと思います。

于 2012-05-18T08:54:49.427 に答える