フォームにアップロードできるファイル形式を増やしたいですか?より多くのファイル形式をサイトにアップロードできるようにすることで、あなたとユーザーの利便性が向上します。
このチュートリアルでは、サイトのセキュリティを損なうことなく、さまざまなファイル拡張子を追加する方法を紹介します。
注:ファイルアップロードフォームの作成方法をお探しですか?詳しくはファイルアップロードフィールドのガイドをご覧ください。
デフォルトで許可されるファイルタイプ
セキュリティ上の理由から、WordPressは特定の種類のファイルのみを許可しています。デフォルトのファイル形式は以下の通りです:
- .png、.gif、.jpgなどの画像
- .doc、.xls、.ppt、.pdfなどのドキュメント
- .wav、.mp3、.mp4のようなオーディオ
- .mpg、.mov、.wmvのようなビデオ
以下のファイルタイプの中には、悪用される可能性があるものもありますのでご注意ください。WordPressがデフォルトでこれらを有効にしないのはそのためです。
- .svg、.bmpなどの画像
- .psd、.ai、.pagesのようなドキュメント
- .css、.js、.jsonなどのコードファイル
- .flv、.f4l、.qtのようなビデオ
ファイルアップロードタイプの追加
追加のファイル形式を受け入れるようにサイトを設定するには、WPFormsによる無料のWordPressプラグイン、File Upload Typesをインストールする必要があります。
注:サイトにプラグインを追加する方法の詳細については、WPBeginnerのプラグインインストールガイドをご覧ください。
プリセットファイルタイプの使用
File Upload Typesプラグインをインストールしたら、WordPressの管理画面からSettings " File Upload Typesにアクセスしてください。

このページでは、ファイルタイプの横にあるチェックボックスをオンにすることで、プリセットのファイルタイプを追加することができます。

追加したいファイルタイプを選択したら、「設定を保存」ボタンをクリックして変更を保存します。

カスタムファイルタイプの追加
プリセットリストにないファイル形式を含めたい場合は、自分で追加することができます。
これを行うには、ADD CUSTOM FILE TYPESセクションまでスクロールダウンします。次に、ファイル・タイプを指定された領域に直接ドラッグ・アンド・ドロップするか、コンピューターからファイル・タイプをアップロードするか、ファイル・タイプを手動で追加します。

ファイルタイプを手動で追加する場合は、[ファイルタイプを手動で追加]テキストをクリックしてください。

次に、アップロードするファイル形式を指定する必要があります。これは3つのフィールドで行います:
- ファイルの説明:ファイルタイプの名前です。これはファイルアップロードタイプの設定でのみ表示されますので、任意の詳細を追加することができます。
- MIMEタイプ:新しいファイルタイプが表すカテゴリーとデータ型。
- 拡張子:このファイルに関連付けられる拡張子の種類(例:.jpg、.docxなど)。
注:MIMEはウェブ上のファイル識別の形式です。MIMEの詳細については、Mozillaのドキュメントで一般的なMIMEタイプの完全なリストを確認できます。ファイルのMIMEタイプを調べるには、オンラインのファイルチェッカーをご利用ください。

例として、YAMLファイルタイプの情報を持つフィールドを示します:

プラス(+)アイコンをクリックして、複数のカスタムファイルタイプを追加することもできます。ファイルタイプを削除したい場合は、ゴミ箱アイコンをクリックしてください。

これらの詳細をすべて入力したら、[設定を保存]ボタンをクリックして、設定をサイトに適用します。

複数のMIMEタイプを許可する
複数のエイリアスまたは可能なMIMEタイプがあるファイルタイプを追加する場合は、MIMEタイプフィールドに追加することもできます。これは特に、拡張子が同じでMIMEタイプが異なるファイルを適切にアップロードするのに役立ちます。
注:ファイル・タイプにエイリアスがあるかどうかわからない場合は、このリファレンス・ガイドの一部を参照してください。
この機能を使用するには、プラグイン内の「複数のMIMEタイプのサポートを有効にする」オプションをクリックする必要があります。

注:プラグインにこのバナーが表示されない場合は、このオプションがすでに有効になっていることを意味します。
この機能を有効にしたら、MIME Typeフィールドにエイリアスを追加し、それぞれのタイプをカンマで区切ることができる。
例えば application/photoshop
, application/psd
そして image/photoshop
Photoshopファイルのエイリアス:

設定が追加されたら、必ず「設定を保存」ボタンをクリックして、設定をサイトに適用してください。

WordPressのファイルアップロードを保護するためのヒント
ユーザーがあらゆる種類のファイル形式をアップロードできるようにするのは便利かもしれませんが、これはセキュリティ上の問題につながる可能性があります。以下のヒントに従うことで、特定のアップロード形式を許可しながら、サイトをより安全に保つことができます:
- フォームを送信するには、ユーザー登録とログインが必要です。
- アップロードするファイルの種類を、本当に必要なものだけに限定。
- ファイルアップロードサイズの制限
よくある質問
ファイルタイプを追加したのですが、まだ次のようなエラーが出ています:
File type not allowed
この場合、アップロードしようとしているファイルのMIMEタイプが、サイトに追加したものと一致していることを確認します。ファイルのMIMEタイプが一致するかどうかは、すばやく簡単に確認できます。
MIMEタイプが一致してもアップロードされない場合は、WPFormsが特定のファイルタイプをブラックリストに入れていることを知っておくことが重要です。File Upload Typesプラグインを使用して追加されたとしても、いくつかのファイルタイプはアップロードからブロックされます。ファイルタイプの完全なリストは以下の通りです:
アデ | 広告 | アプリ | アスプ |
ベース | バット | セル | cgi |
チャム | コム | カップリング | クルト |
シーシェ | セル | ディル | ドライブ |
エグゼ | エフエックスピー | Flv | hlp |
hta | htaccess | htm | html |
htpasswd | インフ | インス | アイソピー |
ジャー | js | ジェセ | ジェイエスピー |
ksh | lnk | データベース | ムデ |
MDT | MDW | マスクス | エムエスアイ |
エムエスピー | ミスト | オプス | ピーシーディー |
php | ピフ | プラス | プルグ |
ps1 | PS2 | パイ | rb |
スクラム | スペクト | シー | シッブ |
えんきん | swf | tmp | 奔流 |
url | ブイビー | ブブ | ブイブイ |
ブイビーエススクリプト | wsc | ダブリューエスエフ | ウッショー |
dfxp | オネトンプ | json | オットフ |
ttf |
注:ファイルアップロードフィールドでログインした管理者にHTML、HTM、JSファイルのアップロードを許可したい場合は、カスタムフィルタを使った実装方法について開発者向けドキュメントをご覧ください。
以上です!これで、ファイルアップロードフォームを使用して、ユーザーが追加のファイルタイプをアップロードできるようになりました。
あなたのサイトを保護するためのヒントをもっと知りたいですか?詳細はWPFormsセキュリティ完全ガイドをご覧ください。