#経緯
wpのサイトでフォームに「contact-form-7」を使わせてもらっていた。
要件に画像添付があり、1ファイルだけ添付をできるようにしていた
その後、画像を複数入れたいという要望があった
#調査
contact-form-7ありきなのでこれにどうやったら複数のファイルを添付できるのか探していて
A) Multifile Upload Field for Contact Form 7
B) drag-and-drop-multiple-file-upload-contact-form-7
C) プラグイン入れず、ファイルボタンを複数入れる
Cは最後の選択としてAかBを剪定してAは更新が止まっていたのでBを選び、
使うにあたり、調査したところプラグインの脆弱性が上がっていましたが、すでに修正もできているので使ってみることにした
[プラグインにおける危険なタイプのファイルの無制限アップロードに関する脆弱性](https://jvndb.jvn.jp/ja/contents/2020/JVNDB-2020-006298.html)
Armoris日記 CVE-2020-24389編
B)サイトからダウンロードして管理画面で落としてきたファイルをアップロード
どちらでもいいかと思いますが、インストールしたら有効化。
#設定
お問い合わせのメニュー内に有効化したら「Drag & Drop Upload」が現れますので
Drag & Drop Uploader - Settingsで文言の変更しました。
デフォルトは英語表記ですので日本語に変更しました。
保存は忘れずにね!
プラグインのアップロードの設定が終わったらフォームに追加します。
###フォームタブ
フォームの画面にボタンが追加されていますのでクリックすると
モーダルが出ますのでここでアップロードできるファイル容量、数や形式の設定を行います
全部設定はしたのですが、
ファイルサイズの上限 (バイト)
参考にさせてもらった記事ではkbでの設定も可能と記事にありましたが、動かなくてbyteで値を入れました
受け入れ可能なファイル形式
設定しておけばそれ以外のファイル形式はアップロードできないようなので設定しました
タグを挿入をclick
###メールタブ
アップロードした添付をメールで受け取るにはメールタブを選択して
ページ確認
1枚のファイル容量は1.5MBにしてみたのですが1.5MB以上のファイルはしっかり弾かれます
最大アップロード数は5に設定しているので、6枚目はしっかり弾かれます
最後に
contact-form-7に添付ファイルを複数つける方法でした。
調べてもそんなに選択肢はなかったのですが、ドロップでも添付できるので直感的だと思いました
セキュリティのこともあるのでアップデートはしっかりしていこうと思います。
- 入れ忘れないように
参考
https://yuki.world/contact-form-7-drag-and-drop-multiple-file-upload/
https://www.hiskip.com/wp/plugin/site-manage/contactform/cf7/10534.html