reCAPTCHA ERROR: Invalid domain for site key

私のreCAPTCHAは、exampleに示されているように実装しました。

このスクリプトを head タグに記述しています。

<script src="https://www.google.com/recaptcha/api.js"></script>

HTMLのformでは次のようになっています。

<div class="g-recaptcha" data-sitekey="my public sitekey here"></div>

しかし、formを読み込むと、このエラーが出ます。

ERROR: Invalid domain for site key

このサイトキーが私のドメインの正しいサイトキーであることを確認しました。

コードは現在サブドメインにあるので、それが問題なのではないかと思い、Google reCAPTCHAの管理画面にサブドメインを追加しましたが、やはりエラーが出ます。

全く同じコードは、別のドメイン(そのドメイン専用のキーを使用)では100%動作します。
何が問題なのでしょうか?

ソリューション

同じような問題を抱えている人がいるかもしれません。私の解決策は、機能していなかったキーを削除し、私のドメイン用に新しいキーを取得することでした。これで、サブドメインをrecaptchaの管理画面で明示的に指定しなくても、すべてのサブドメインで動作するようになりました。

解説 (4)

ユニットテスト中にlocalhostを使用していたところ、recaptchaのキーが127.0.0.1に登録されてしまいました。そこで、ブラウザを127.0.0.1を指すように変更したところ、動作するようになりました。ReCaptchaキーの設定でドメインのリストに"localhost"を追加することができましたが、localhostを使ってユニットテストを行うことはできません。私はループバックIPアドレス127.0.0.1を使用しなければなりません。

解説 (0)

90%の問題を解決するために、キーを再生成する前にもう一つ注意すべき点があります。

例えば、あなたのxamppディレクトリはC:\xamppです。

htdocs フォルダは C:\xampp\htdocs です。

example-cap.htmlというページを開きたいとします。 というページを開こうとすると、ページにエラー "invalid domain for site key&quot が表示されます。

ブラウザのアドレスに自分のローカルホストのアドレスを使います。

ローカルホスト/example-cap.html

これで問題が解決します

DONOT USE ADDRESS c:xampp\htdocs\example-cap.html この場合、エラーが発生します。

解説 (0)