web-dev-qa-db-ja.com

Maps APIブラウザキーでHTTPリファラーを設定すると403エラーが発生する

HTTPリファラー設定がGoogle Maps APIブラウザーキーでどのように機能するかについて混乱しています。

プログラムでGoogleマップの画像をリクエストするWebページを構築しています(主にGoogle Maps Street View Image APIですが、MaxZoomServiceおよびJavaScript APIからStatic Maps APIのクエリもいくつか実行しています)。

HTTPリファラーなしでブラウザキーを作成すると、うまく機能します。

ページのロード元のドメインと一致するHTTPリファラーを使用してブラウザキーを作成すると、403エラーが発生します。 *.mydomain.com/*などのリファラーを使用しています

どうしたの? HTTPリファラーをページのロード元のドメインと一致するように設定した場合、それはリファラーの正しい使用法ではないでしょうか?なくてもかまいませんが、他の人が私の鍵をつかんでそれを使用することを恐れています。リファラーの仕組みを誤解していますか?

16
mix

*。example.com/*を使用する場合、www.example.comまたは別のsubdomainのいずれかから取得する必要がありますが、これは成功しますexample.comの場合は機能しません(URLの最初の部分のピリオドに注意してください)

URLの最初の部分を取り除くexample.comへの何らかのリダイレクトがある場合、この場合に使用するのに最適な正規表現は、単純に* example.com/*で、背後にあるすべてのサブドメインをカバーします。 example.com、httpまたはhttps、およびドメイン以降のすべてのコンテキスト。

それが役に立てば幸い。

6
Daniel Mendoza

コンソールのHTTPリファラープレースホルダーによると、*.example.com/*は確かに機能するはずです。

しかし実際には、これは実際にはそうではありません!

リファラーを次のように設定するだけで問題を解決できました:

example.com

詳細については、 承認済みURLの登録 を参照してください。幸運を!

14
Julian Laval