Welcart Basic新規入会フォームでrecaptcha V3にて401エラー

フォーラム その他 Welcart Basic新規入会フォームでrecaptcha V3にて401エラー

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

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

    現在の環境は以下の通りです。
    WordPress バージョン:6.8.2
    Welcart バージョン:2.11.20
    テーマ:voll(子テーマ)
    動作確認のため、一時的に Welcart Basic を使用
    サーバー:xserver(会社名・サービス名)
    SSL:独自ドメインで常時SSL
    PHP バージョン:8.2.28
    プラグイン:複数有効

    確認ブラウザ:Chrome

    現状、テーマは一時的に Welcart Basic に変更しており、functions.php はデフォルトの状態です。
    Contact Form 7 は無効化済みです。
    reCAPTCHA v3 については、サイトキーおよびシークレットキーを旧管理画面(https://www.google.com/recaptcha/admin)で再確認済みで、既に Cloud に移行済みです。

    現象
    会員の新規入会時、ブラウザのデベロッパーツールで以下のエラーが表示されます。
    POST https://www.google.com/recaptcha/api2/pat?k=**********サイトキー************** 401 (Unauthorized) recaptcha_ja.js:1029
    Network タブで確認すると、recaptcha_ja.js ファイルを 2回目に読み込んだ後 にエラーが発生しています。
    複数回読み込まれたことが原因と考えられますが、ページソース上は 1回しか読み込まない仕様になっているようです。

    先日はエラーが発生しない状態になったこともありましたが、確認不足だった可能性があります。
    現状の原因が特定できず困っております。

    依頼
    現在の状態(Welcart Basic + Contact Form 7 無効 + reCAPTCHA v3 動作中)で、
    上記の 401 エラーが発生していないか確認していただけないでしょうか。
    お手数をおかけしますが、よろしくお願いいたします。

    #103701
    mai
    参加者

    理由は分かりませんが、401エラーが解消しました。
    行ったことを一応書いておきます。

    recaptcha管理画面にて、登録ドメインの順番を入れ替えて保存しました。キーは従来通りでそのままです。
    wwwありなしの順番を入れ替えただけです。

    Welcartを介さずにWordPress上で、reCAPTCHA v3のサイトキーとシークレットキーが正しくドメインに紐付けられているか確認するコードをfunctions.phpに一時的に追加してショートコードで実行させて、正しくドメインと紐付けされている事を確認しました。

    以上の2点です。
    エラーが解消した理由が不明なので
    詳しい方々のアドバイスを頂ければと願っています。

    #103702
    mai
    参加者

    本日確認すると、401エラーが発生しました。
    Welcartを介さずにWordPress上で、reCAPTCHA v3のサイトキーとシークレットキーが正しくドメインに紐付けられているか確認するショートコードを走らせ、しばらくしてから確認すると解消します。
    何か基本的なミスを犯しているような気がします。
    アドバイスお願いします。

    #103705
    mai
    参加者

    「reCAPTCHA v3のエラーについて」
    現在、テスト環境として使用しているWelcart Basicテーマで、reCAPTCHA v3に関連する401エラーが発生しています。

    調査内容
    このエラーは、新規入会フォームの画面にて確認されており、原因はrecaptcha_ja.jsが複数回読み込まれることにあると推測しています。

    Welcart Basicは2025年8月27日にダウンロードしたバージョンを使用しています。

    header.php、page.php、footer.php、functions.phpは、ダウンロードしたオリジナルのファイルをそのままアップロードしています。

    Contact Form 7はreCAPTCHAをインテグレーション設定せずに使用しています。
    このようにすることでContact Form 7によるrecaptcha_ja.jsの読み込みは発生しないと考えています。
    (通常は別のテーマvoll内でfunctions.phpをカスタマイズしてreCAPTCHAを有効化しています。)

    reCAPTCHA v3のサイトキーとシークレットキーが正しくドメインに紐付けられているか確認するコードをfunctions.phpに一時的に追加してショートコードにて実行させて、正しくドメインと紐付けされている事を確認しています。

    また、サイトキーとシークレットキーは、reCAPTCHA管理画面よりコピーして、ダイレクトにwelcartのシステム設定 拡張機能のreCAPTCHA登録フォームにペーストしています。半角や改行コードは含まれていません。

    本番環境のため、深夜に短い時間にテストを行うため、他のプラグインを同時に解除は出来ていませんが、ここに解除しても問題が改善されませんでした。

    前回の投稿でも書きましたが、何らかの原因で401エラーが発生しなくなることもありますが、しばらくすると元に戻ります。

    現状の認識
    今回のエラーは、私がカスタマイズしたファイルとは無関係に、Welcart Basicテーマ自体かプラグインの組み合わせの不具合が原因で発生している可能性が高いと考えています。
    間違っていれば申し訳ありません。

    つきましては、この401エラーの根本的な原因について、詳細な調査をお願いいたします。

    #103709
    furuta
    キーマスター

    mai 様

    こんにちは。
    弊社テスト環境では症状を再現できておりません。
    サイトの状況を確認させていただきたいため、こちらのフォームより環境情報を添付のうえご連絡いただけますでしょうか。フォーラムより、とご記載いただけますと幸いです。

    #103725
    mai
    参加者

    furuta 様

    早々のご返信ありがとうございました。

    テーマをWelcart Basicに切り替えてもエラーが発生したため、キャッシュやWAF、.htaccess、プラグインの影響を疑い、furuta様よりご提案頂いた様にすべて無効化して検証しましたが結果は同じでした。しかし、別のパソコンや Firefox・Edge ではエラーは確認されませんでした。

    検討の結果、Chromeのデベロッパーツールでスマホ表示に切り替えた場合のみ401エラーが発生することが分かりました。パソコン幅(1000px 以上)に切り替えるとエラーは出ず、他のパソコンでも同様でした。

    つまり、reCAPTCHA v3は画面サイズやUser-Agentに応じて「ボットか人間か」を判定しているのでは?
    そして、モバイル表示時にはサーバー側が想定外のトラフィックと判断して401を返している可能性が高いと考えられます。(あくまで想像です!間違っているかもしれません。)
    このように考えると、Welcart Basicに切り替えてもエラーが発生することも納得できます。
    また、xserverのサポートの方からも「現状reCAPTHAの導入は成功しているように見受けられました。」との回答を頂きました。一応、様子見ではありますがご報告いたします。

    今回も間抜けな結果となりましたが、今後ともよろしくお願い致します。

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