Contact Form 7 5.5

Contact Form 7 5.5 がリリースされました。今回の目玉はシンプルな支払いウィジェットをフォームに提供する Stripe インテグレーションモジュールの導入です。5.5 ではまたいくつかの重要なセキュリティ強化が行われています。加えて多数のバグ修正と改善も。いますぐ更新しましょう。

Stripe インテグレーション

待望の支払いサービスが Contact Form 7 の公式サポートインテグレーションのラインアップに加わります。Stripe インテグレーションモジュールにより、簡単な手順だけでコンタクトフォームにクレジットカード支払いウィジェットを追加できるようになります。

詳しくは Stripe インテグレーションを参照してください。

WPCF7_UPLOADS_TMP_DIR のセキュリティ制約

WPCF7_UPLOADS_TMP_DIRアップロードファイルのための一時ディレクトリをカスタマイズするために使用される定数です。5.5 でのセキュリティ強化の一環として、この定数は定数値が WordPress のコンテンツディレクトリ (WP_CONTENT_DIR) 下のディレクトリを参照する場合に限り機能するように変わります。そうでない場合、この定数は無視され、デフォルトのディレクトリパスが代わりに使われます。

アップロードファイルのためのディレクトリを WordPress の制御下にあるコンテンツディレクトリの外部に持つ必要性はないはずです。定数に不正な設定を持たせているならなるべく早いうちに修正しましょう。

コンタクトフォームテンプレートへの KSES フィルターの適用

5.5 におけるもう一つのセキュリティ強化策は、フォームとメール本文のテンプレートへの KSES フィルターの適用です。KSES は対象コンテンツから許可されない HTML 要素と属性を取り除く一連の PHP 関数群です。あなたが unfiltered_html 権限を与えられた特権ユーザーでなければ、コンタクトフォーム編集画面で許可されない HTML を使うことができなくなります。

Contact Form 7 は許可される HTML 要素と属性の独自のリストを定義して持っています。フォームコントロールでよく使われる要素と属性の大部分はこのリストに含まれていますが、もし必要があれば wpcf7_kses_allowed_html フィルターフックを利用してこれをカスタマイズすることも可能です。

必要バージョン: WordPress 5.7 以上
テスト済み: WordPress 5.8.1 まで

» WordPress.org から Contact Form 7 プラグインをダウンロード

主要な変更点

  • Stripe インテグレーションモジュールを導入。
  • Sendinblue: wpcf7_sendinblue_contact_parameters および wpcf7_sendinblue_email_parameters フィルターフックを導入。
  • reCAPTCHA: wpcf7_use_recaptcha_net フィルターフックを導入。
  • Akismet: wpcf7_akismet_parameters フィルターフックを導入。
  • Flamingo: wpcf7_flamingo_inbound_message_parameters フィルターフックを導入。
  • フォーム送信: 送信データハッシュ関連のメソッドを導入。
  • フォーム送信: get_result() メソッドと wpcf7_submission_result フィルターフックを導入。
  • ファイルアップロード: 定数値が WordPress のコンテンツディレクトリ内部にないパスを参照する場合に WPCF7_UPLOADS_TMP_DIR 定数の設定を無視する。
  • セキュリティ: フォームとメール本文のテンプレートに KSES フィルターを適用する。
  • ajax-loader クラスを代替する wpcf7-spinner クラスを導入。
  • wpcf7_canonicalize() を改善。
  • REST API: WPCF7_REST_Controller クラスとスキーマを導入。
  • 別のバージョンのプラグインが機能している場合はアンインストール時のプラグインデータの削除を行わない。
  • 修正済み: バックスラッシュの取り扱いに関連したいくつかのバグ。
  • 修正済み: フォームタグの名前にドット記号が使用されている場合にフォーム送信が正しく機能しない問題。
  • 設定検証: フォームタグの名前にドット記号が使用されたケースのための検証項目を追加。
  • ダークモードのサポートを廃止。

変更点の完全なリストは GitHub で閲覧できます。