web-dev-qa-db-ja.com

reCAPTCHA ERROR:サイトキーのドメインが無効です

私はreCAPTCHAを に示すように実装しました。

このスクリプトは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をロードすると、このエラーが発生します。

エラー:サイトキーのドメインが無効です

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

コードは現在サブドメインにあるので、おそらくそれが問題だと思ったので、Google reCAPTCHA管理者にサブドメインを追加しましたが、それでもエラーが発生します。

まったく同じコードが別のドメイン(そのドメインに固有のキーを持つ)で100%機能します。
問題は何でしょうか。

57
blestab

誰かが同様の問題を抱えている場合。機能していなかったキーを削除し、自分のドメイン用の新しいキーを取得しました。そしてこれはrecaptcha管理領域で明示的にそれらを指定する必要なしに同様に今や私のすべてのサブドメインでも動作します。

44
blestab

まず第一に、鍵は https://www.google.com/recaptcha/admin#list で管理されています

いくつかの異なるドメインで同じキーを使用していて、そのキーにドメインの1つを追加するのを忘れていたため、このエラーに遭遇しました。

私のサイトを追加した後、物事が再び正常に機能するようになるまでに1、2分かかりました(おそらくキャッシュが原因です)。

23
guaka

ブラウザ上のサイトデータを消去するだけで新しいキーを作成する必要はありません

サイトドメインを変更した場合は、そのドメインを既存のキーに追加し(新しいものを作成する必要はありません)、それを保存します。

https://www.google.com/recaptcha/admin#list

しかし、Google recaptureはブラウザ上でいくつかのデータを持っています。それらをクリアしてください。そうすればあなたの新しいドメインでうまくいくでしょう enter image description here

15
Alupotha

最も早い方法は、開発中はドメインチェックを無効にすることです enter image description here

11
hugronaphor

私はそれを解決したのと同じ問題を抱えていた。 https://www.google.com/recaptcha/admin にアクセスしてドメインをクリックし、下部にある主要な設定に移動しました。

そこで私は以下のオプションを無効にしましたドメイン名検証reCAPTCHAソリューションの起源を確認します

保存をクリックすると、キャプチャが機能し始めました。

これはサーバーの設定方法と関係があると思います。私は共有ホスティングをしていて、LiquidwebからDeluxehostingへ(前者は後者へ彼らの共有ホスティングを売却したため)予告なしに移管され、そして多くの問題を抱えています。これは、Googleがサーバーをチェックしているが、私のドメインではなく共有サーバー名として識別されていると考えられます。 「原点の確認」のチェックを外すと動作し始めます。これが当分の間問題を解決するのを助けることを願っています。

11
rawraj

私のrecaptchaキーが127.0.0.1に登録されていたとき、私はユニットテスト中にlocalhostを使用していました。それで私は私のブラウザを127.0.0.1を指すように変更し、それは働き始めました。 ReCaptchaキー設定のドメインの一覧に "localhost"を追加することはできましたが、それでもlocalhostを使用して単体テストすることはできません。ループバックIPアドレス127.0.0.1を使用する必要があります。

7
ttemple

誤って秘密鍵を公開鍵に使用した可能性があります。

7
sanmai

90%の問題を解決するキーを再生成する前に注意が必要な点がもう1つあります。

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

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

example-cap.htmlというページを開き、ページに「サイトキーのドメインが無効です」というエラーが表示されている

次のようなブラウザアドレスであなたのローカルホストアドレスを使用してください:

localhost/example-cap.html

これで問題は解決します

アドレスを使用しないc:\ xampp\htdocs\example-cap.htmlこれによりエラーが発生します

5

ドメイン名を必ず入力し、パスで終わらないようにしてください。

http://yourdomain.com (良い)

http://yourdomain.com/folder (エラー)

3
Momodu Oladapo

httpおよびhttpsなしでドメインを追加してください。 www.abc.comのように

3
Nangyial Ahmad

私はこの問題にも遭遇しました、そして私の解決策は私が選択したバージョンのために適切なクライアントコードを統合していたことを確かめることでした。

私の場合は、reCAPTCHA v3を選択しましたが、v2用のクライアント統合コードを使用していました。

V3はこのようになります:

<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>
<script>
  grecaptcha.ready(function() {
      grecaptcha.execute('reCAPTCHA_site_key', {action: 'homepage'}).then(function(token) {
         ...
      });
  });
</script>

V2コードは次のようになります。

<html>
  <head>
    <title>reCAPTCHA demo: Simple page</title>
     <script src="https://www.google.com/recaptcha/api.js" async defer></script>
  </head>
  <body>
    <form action="?" method="POST">
      <div class="g-recaptcha" data-sitekey="your_site_key"></div>
      <br/>
      <input type="submit" value="Submit">
    </form>
  </body>
</html>

あなたがどのバージョンを持っているかに関しては、これはあなたがあなたのreCAPTCHAアカウントセットアップの始めに決めたものになるでしょう。 enter image description here

2
kylestephens

私にとっては、「Key Settings」の欄に実際のドメイン名を入力するのを忘れていました。ここでDomainsと表示されています(1行に1つ)。

2
Kirk Ross

あなたのドメインを設定する必要があります:www.abi.wapka.mobi、それはあなたがWAPKAサイトを使用している場合です。

もしあなたがwapkaを持つドメインを持っていたならそれは機能しないことに注意してください、それであなたのサイトプロバイダーとwapkaを比較しそれをテキストにしてください。

1
swixz

私のドメインはかなり複雑でした。 window.location.Hostによって返された値を開発者コンソールに取り、その値をrecaptcha adminホワイトリストに貼り付けました。その後、キャッシュをクリアしてページをリロードしました。

1
Souradeep Nanda

私はこれで4時間近く試してみました、そして最後にここからの指導でそれを考え出しました、私はあなたと私の解決策を共有すると思いました。

わかりましたので私のドメインはアドオンドメインです。 「サイト所有者のエラー:サイトキーのドメインが無効です」というメッセージも表示されました。デスクトップのショートカットで考えるまで、すべてがほぼ1000回正しいことを確認しました。

Solution:

そのため、アドオンドメインの場合は、親URLがドメインのリストにも含まれていることを確認します(例:[ADDON DOMAIN]。[PARENT DOMAIN] .com)。アドオンの場所はホスト上で設定したフォルダになるので、アドオンドメインを使用するときは必ずルートに論理的な名前を付けてください。

これが他の人に役立つことを願っていますし、提案の人々に感謝します。

1
Dean De Klerk

私は私がレンダリングパラメータを表示するのを忘れたという事実のために同様の問題を抱えていました

<script src='https://www.google.com/recaptcha/api.js?render=SITE_KEY' async defer></script>
0
Arseniy