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%動作します。
何が問題なのでしょうか?
66
3
同じような問題を抱えている人がいるかもしれません。私の解決策は、機能していなかったキーを削除し、私のドメイン用に新しいキーを取得することでした。これで、サブドメインをrecaptchaの管理画面で明示的に指定しなくても、すべてのサブドメインで動作するようになりました。
ユニットテスト中にlocalhostを使用していたところ、recaptchaのキーが127.0.0.1に登録されてしまいました。そこで、ブラウザを127.0.0.1を指すように変更したところ、動作するようになりました。ReCaptchaキーの設定でドメインのリストに"localhost"を追加することができましたが、localhostを使ってユニットテストを行うことはできません。私はループバックIPアドレス127.0.0.1を使用しなければなりません。
90%の問題を解決するために、キーを再生成する前にもう一つ注意すべき点があります。
例えば、あなたのxamppディレクトリはC:\xamppです。
htdocs フォルダは C:\xampp\htdocs です。
example-cap.htmlというページを開きたいとします。 というページを開こうとすると、ページにエラー "invalid domain for site key" が表示されます。
ブラウザのアドレスに自分のローカルホストのアドレスを使います。
ローカルホスト/example-cap.html
これで問題が解決します
DONOT USE ADDRESS c:xampp\htdocs\example-cap.html この場合、エラーが発生します。