1. ホーム
  2. web-services

Google MapsはどうやってAPI Keyを確保しているのか?似たようなものを作るには?

2023-08-26 12:49:54

質問

現在、Google は、地図が提供されるドメインに固有の API キーを作成することを要求しています。Google はこれをどのように強制しているのでしょうか。私は同じことをしたいのです。

私は自分のサービスのためにAPIを公開しますが、クライアントがサーバーからだけでなく、javascriptを介してAPIへの呼び出しを埋め込むことを可能にしたいと思います。私はランダムなトークンでそれを保護することができますが、もちろんこれは、クライアントマシン上のコードを見る誰によっても簡単に詐称される可能性があります。

私はいつもこのコンセプトは不可能だと理解していましたが、どういうわけかGoogleはそれを実施するのに良い仕事をしています。

編集 - 結局のところ、Googleは本当に何も驚くべきことをしていないようです。彼らの API はトラッキングのためだけのもので、キーを持つ人が彼らの API を使用することを本当に保証するものではない可能性が高いです。

どのように解決するのですか?

REFERER URL を使用して、どこから電話がかかってきたかを判断していることは間違いありません。ドメインがキーに割り当てられているものと一致しない場合、それは無効なリクエストです。

実際の例として、PHPを使用して、ドメインは $_SERVER['HTTP_REFERER'] を使って referer をチェックします。もしドメインが一致すれば、有効なレスポンスを返します。一致しない場合は、401 Unauthorizedなどのレスポンスを返せばよい。