Contact Form 7(コンタクトフォーム7)バージョン5.4では、Contact Form 7 add confirmが動かない

大人気プラグイン Contact Form 7(コンタクトフォーム7)

WordPressサイトにお問い合わせフォームを設置するプラグインと言えば「Contact Form 7(コンタクトフォーム7)」です。
日本人プログラマーが開発したプラグインで、有効ダウンロード数500万を超える大人気プラグイン。日本国内のWordPressホームページのお問い合わせフォームはだいたいがContact Form 7(コンタクトフォーム7)を使用していると言っても過言ではない、最もポピュラーなプラグインのひとつです。

Contact Form 7(コンタクトフォーム7)に脆弱性がみつかる

そのContact Form 7(コンタクトフォーム7)に2020年12月、深刻な脆弱性がみつかりました。
バージョン5.3.1およびそれ以下に重大なセキュリティホールがあり、無制限に悪意のあるファイルをアップロードできるというニュースが第三者機関より発表されたのです。

Contact Form 7(コンタクトフォーム7)緊急リリースのおしらせ

こちらの脆弱性は理論上は確かに存在するものの、アップロードを可能にしているサイトのみが対象で、実際に脆弱性をついて悪用できるかは未知数であり、すでに被害が出たというものでもありません。
しかし、脆弱性が明るみに出てしまった以上、ハッカーの注目の的になりますので、今後攻撃される可能性が大いにあります。

Contact Form 7(コンタクトフォーム7)の対応はスピーディーでした。
同年同月の17日には5.3.2がリリースされるというスピード対応により、バージョンアップを行えば解決するということで一旦は安心いたしました。

Contact Form 7(コンタクトフォーム7)の開発元ではこの騒動を受けてさらなる開発を急いでいるようで、2021年2月25日に行われた5.4のバージョンアップでは

「異例に大きな変更」
「ウェブサイトのフロントエンドで使用される JavaScript が根本的に改修」

と、全く新しい仕様に生まれ変わりました。

Contact Form 7(コンタクトフォーム7)公式サイト リリースアーカイブ

これで今までのセキュリティホールの課題は乗り越えたかたちになりましたが、この急速な開発にContact Form 7(コンタクトフォーム7)と連携していたプラグインがついていけない状況になっています。

確認画面を表示する「Contact Form 7 add confirm」が使用不能に

Contact Form 7 add confirm」もこの急激な変化についていけなかったプラグインの一つです。
Contact Form 7(コンタクトフォーム7)では初期状態で確認画面はついていません。
「Contact Form 7 add confirm」を同時にインストールしてカスタマイズすることで確認画面が表示されるようになります。

「Contact Form 7 add confirm」は、Contact Form 7(コンタクトフォーム7)に確認画面機能を付与する唯一のプラグインで、今のところ「Contact Form 7 add confirm」に代わる有効なプラグインは見当たりません。
それなのに3年前から更新がされていないという、残念ながら開発元から半ば放置されぎみのプラグインなのです。

ですので、2020年4月14日現在では

  1. Contact Form 7(コンタクトフォーム7)のバージョンを5.3.2に落として「Contact Form 7 add confirm」を利用する
  2. 確認画面の表示をあきらめてContact Form 7(コンタクトフォーム7)バージョン5.4を使用し、「Contact Form 7 add confirm」に代わるプラグインの開発を待つ

の二択の状況となっています。

プラグインは最新バージョンを使うのが基本

当事務所としましては、Contact Form 7(コンタクトフォーム7)の5.3.1の脆弱性の問題を重く捉え、その後継である5.3.2についてもセキュリティホールを開けられるという万が一の可能性を考慮し、最新バージョンの使用をする方法を採用しました。

Contact Form 7(コンタクトフォーム7)の今までのソースコードで問題がなければ大胆なプログラム変更を行わないわけで、それを行ったということは何かしらの思惑があるということ。
そもそも、どのプラグインでも、最新のバージョンを使用することは基本となります。(もちろん、開発を失敗して大変なことになる場合もありますが…そこは開発元を信用するしかありません。最新版の不具合は開発元の責任ですが、古いバージョンを使用しての不具合はこちらの責任となります)

お問い合わせフォームはお客様の大事な個人情報をお預かりするためのシステムですから、安全性が第一です。
確認画面が見られないのは不便ではありますが、自動返信メール機能で内容は確認できます。

まとめ

WordPressは世界中で利用されているオープンソースで、無料で使用でき、プラグインも豊富ですが、それだけにウイルスに狙われやすいという欠点があります。

また、簡単に導入できる一方で、プラグインを開発・修正できるほどの技術者は、全国のホームページ制作事務所にそうそういるわけではありませんので、こういったプログラムコードの書き換えなど専門的な変更があった場合、多くの場合は対処できません。

対処できたとしても、自前で同じようなプログラムを腕のいい開発者さん・開発会社さんにお願いして組むとしたら何十万円もかかってしまいますので、現実的ではありません。(そこまでできればプラグインを開発して配布したほうがビジネスになりそうです)

他力本願で情けないですが、早くContact Form 7(コンタクトフォーム7)の脆弱性の問題が落ち着き、以前のように周辺プラグインも充実してくれるよう願っています。