WEB STUDIES

もっともっと、もっと先へ。株式会社アットワークMore and more,
further and further.

Tips

2026年4月2日

【実録・復旧】Simple CAPTCHA Alternative with Cloudflare TurnstileプラグインとContactform7インテグレーションのTurnstileのコンフリクト

知り合いの制作会社さまから、連絡を受けまして重大な事柄が判明。
「おたくのお問い合わせフォーム動いてないよっ」っえ?
ハッキングでも受けたのかと思い、アクセスログやら調べるも痕跡はなし。

何か変更したっけ?

フォーム自体に変更を加えた覚えがなく、これまでもお客様からメールをいただいていました。最近改修を行ったこととすれば、投稿をインタラクティブにコメントを受け付けるようにしたこと。そしてボット駆逐用にTurnstileのプラグインをインストールしたこと。

もともと、メールフォームにはインテグレーションで提供されていたTurnstileを利用していて…、そこか??

原因は競合?

多分、何が起きているかというと、メールフォームのインテグレーションのTurnstileと連携のうえ、Simple CAPTCHA Alternative with Cloudflare Turnstileをインストールして、おのおのがCloudflare Turnstileを読み込んでいる状態でコンフリクトを起こしてしまっている?
コンフリクトの原因としては、Cloudflare TurnstileはJavaScriptを1回だけ初期化するのが前提でトークン(検証キー)を1フォームにつき1つしか発行しない、しかし2つのプラグインを併用するとで同じJSが二重ロードして同じDOMに複数widgetが生成されトークン上書きか無効化。
その結果、フォーム送信時に認証失敗して送信できない状況かと考えました。

そこで、メールフォームのインテグレーションを一時的に無効にしてフォーム送信すると成功。やはりコンフリクトが原因のエラーのよう。

で、どうした?

インテグレーションで用意されたいたTurnstileの設定を無効(キー削除)にして、メールフォームもプラグインのTurnstileを利用するようにショートコードを変更。レイアウトを整えて公開。

でどうなった

これまでメールフォームで起きていた送信エラーも改善されて、問題なくメール送信ができるようになりました。プラグイン側ではメールフォームでの使用をfalseにしていたにもかかわらず、コンフリクトが起こるなんて想像もしていませんでした。
ありがとう>友よ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


一覧に戻る