Welcart Basicでrecaptcha V3にて401 (Unauthorized)エラー発生

フォーラム その他 Welcart Basicでrecaptcha V3にて401 (Unauthorized)エラー発生

  • このトピックには4件の返信、2人の参加者があり、最後にmaiにより1ヶ月、 2週前に更新されました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #103684
    mai
    参加者

    いつもお世話になっています。

    現在の環境は下記の通りです。
    WordPress のバージョン:6.8.2
    Welcart のバージョン: 2.11.20
    テーマ:voll(子テーマ)確認のために一時的にWelcart Basic
    サーバー:(会社名、サービス名)xserver
    SSLの利用:(独自 常時SSL)
    php のバージョン8.2.28
    プラグイン 複数
    確認したブラウザchrome Firefox edge
    エラーが出ない環境 windows10 chrome

    会員登録や問い合わせ(contact form7)にて
    デベロッパーツールのconsoleに下記のエラーが表示されます。
    POST https://www.google.com/recaptcha/api2/pat?k=**********サイトキー************** 401 (Unauthorized) recaptcha_ja.js:1029

    会員登録や問い合わせフォームの送信は出来ています。
    recaptchaのロゴは画面の右下に出ています。
    functions.phpにて必要な際にだけrecaptchaを読み込む様にしています。
    (確認のためコメントアウトもしてみました。)
    念のため.htaccessを見ても、フォームに関しては<script> タグは強制的に 403 Forbidden処理だけです。
    recaptcha V3の設定画面にてドメイン名とwwwありなし両方の登録確認をしています。
    welcartのシステム設定 拡張機能に於いて recaptcha v3 response_OKの状態です。
    デベロッパーツールのNetworkを見ると、recaptcha_ja.jsを3回読み込みをしています。
    2回目の後に上記のエラーが発生しています。
    Request Header の Origin:https://www.my_domain.com のはずがなぜかgoogle.comになっています。

    エラーが発生する原因が不明です。
    エラー解消方法をお教えください。

    #103685
    mai
    参加者

    訂正いたします。
    Firefox edgeのconsoleに表示されているrecaptchaに関するメッセージはエラーではなく
    注意警告のレベルのものでした。

    #103688
    ikd
    キーマスター

    mai 様
    こんにちは。
    reCAPTCHA v3 は 1ページにつき1回だけ読み込むのが推奨されていますが、テーマの functions.php 以外にContact Form 7 や Welcart のシステム設定 > 拡張機能 でも reCAPTCHA v3 の設定をおこなっていないかご確認いただけますでしょうか。
    複数箇所で設定していると、同じスクリプトが重複して読み込まれ、今回のようなエラーの原因になることがあるようです。

    #103691
    mai
    参加者

    ikd 様
    ご返信ありがとうございます。
    スクリプトが重複して読み込まれたことが原因だと思います。
    Contact Form 7にてrecaptchaを読み込み
    Vollでは、functions.phpにてformが存在するページ以外はwp_deregister_script( ‘google-recaptcha’ );としているだけです。
    Welcart のシステム設定 > 拡張機能 でも reCAPTCHA v3 を設定していましたので、
    これを停止してキャッシュをクリアしても同様に401が出ます。

    テーマを本日ダウンロードした最新のWelcart Basicにしても同様の結果です。
    もしかすると、contactform7に起因するかもしれません。
    そうなると、プラグインかfunctions.phpでrecaptchaを読み込み
    contactform7のインテグレーションのreCAPTCHAのキーを削除すれば問題は解決するかも?

    もしかすると私のパソコン環境によるものかも?

    お時間が許されるなら、Welcart BasicにてContact Form 7にてrecaptchaを読み込み
    会員登録の画面で401エラーが発生するかお教え願えないでしょうか?
    よろしくお願い致します。

    #103693
    mai
    参加者

    解決しました。
    問題は複数回jsファイルを読み込むことにありました。
    ikd 様の
    「functions.php 以外にContact Form 7 や Welcart のシステム設定 > 拡張機能 でも reCAPTCHA v3 の設定をおこなっていないかご確認いただけますでしょうか。」
    これアドバイスが参考になりました。

    解決した方法を残しておきます。
    Welcart のシステム設定 > 拡張機能 の reCAPTCHA v3 の設定を優先しました。
    contact form7のインテグレーションを設定すると全ページにおいてjsファイルを読み込むため
    ここでの設定をしないように、reCAPTCHAのキーを削除しました。
    そこで、contact form7を使用しているページだけでjsファイルを読み込み
    grecaptchaを呼び出すようにしましたが、すると
    Uncaught ReferenceError: grecaptcha is not definedのエラー
    grecaptchaを呼び出すタイミングを遅らせて実行すると、エラーもクリア出来ました。
    判定基準は都度数値を修正する必要がありますが、様子見の状態です。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。