Welcart Basicでrecaptcha V3にて401 (Unauthorized)エラー発生
-
投稿者投稿
-
2025年8月25日 6:53 AM #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になっています。エラーが発生する原因が不明です。
エラー解消方法をお教えください。2025年8月25日 10:12 AM #103685mai
参加者訂正いたします。
Firefox edgeのconsoleに表示されているrecaptchaに関するメッセージはエラーではなく
注意警告のレベルのものでした。2025年8月25日 5:29 PM #103688ikd
キーマスターmai 様
こんにちは。
reCAPTCHA v3 は 1ページにつき1回だけ読み込むのが推奨されていますが、テーマのfunctions.php
以外にContact Form 7 や Welcart のシステム設定 > 拡張機能 でも reCAPTCHA v3 の設定をおこなっていないかご確認いただけますでしょうか。
複数箇所で設定していると、同じスクリプトが重複して読み込まれ、今回のようなエラーの原因になることがあるようです。2025年8月27日 10:15 AM #103691mai
参加者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エラーが発生するかお教え願えないでしょうか?
よろしくお願い致します。2025年8月28日 7:53 AM #103693mai
参加者解決しました。
問題は複数回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を呼び出すタイミングを遅らせて実行すると、エラーもクリア出来ました。
判定基準は都度数値を修正する必要がありますが、様子見の状態です。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。