Contact Form 7の編集で保存ができないのはWAFの設定に原因があるかも!?
WordPressの制作や保守案件では、お問い合わせフォームの内容変更を依頼されることもあります。代表的なお問い合わせフォームのプラグインといれば、Contact Form 7やMW WP Formではないでしょうか。
今回遭遇したのは、恐らく一番多く使われているであろう「Contact Form 7」でした。普段自社の案件や特に使用するプラグインに制限や縛りが無い場合は、「MW WP FORM」を使うことが多くContact Form 7は若干不慣れな部分があるため、仕様上の問題がない限り使うことは中々ありません。
今回ご依頼を受けたのは、サーバー移転とリニューアルしたホームページデータの実装で、データベース、テーマファイル、プラグインの設定データなど滞りなく作業が進んでいき、動作テストや表示の崩れが発生していないかをチェックしているときに遭遇。
お問い合わせフォームの送信先がリニューアルを担当した会社のメールアドレスが設定されており、バリデーションや本文も英文のままになっていました。メールアドレスの部分は送信テストで書き換えが必要だったため、こちらで作業することに。本文は今回の作業範囲外の為、そのままにして保存ボタンを押すと・・・エラー。いや、正確にはサーバー側の「siteguade」でブロックされているようなメッセージ。
直ぐに何が原因か判明し本文に Subject: と入っていると保存ができなくなることが判明。KDDIウェブコミュニケーションズが運営するCPIのレンタルサーバー:シェアードプランですが、世の中のレンタルサーバーは、「WAF」という機能があり、大体このような障害の原因は「WAF」が関係していることが多々あります。※(ウェブアプリケーションファイアーウォール)
最初のブロックされた画面から何となく予想はついていたけど、一先ず原因がわかって安心。
編集や更新するときにだけ設定をON→OFFにするか、そもそも Subject: なんて言葉を本文に入れなければ良い。Subject:(コロン)に反応するので、:(コロン)を全角にする、消すで解決します。