この記事は2年以上前の投稿になります。
記載された情報が古くなっている可能性がございますので十分ご注意ください。
記載された情報が古くなっている可能性がございますので十分ご注意ください。
WordPress 4.7.1 から追加された機能(セキュリティ対策)で、メディアアップロード時にMIMEタイプのチェックが行われるようになりました。
これによって、今までアップロードできていたファイルが下記のエラーメッセージを表示して動作しなくなるケースがあるようです。
このファイルタイプはセキュリティの観点から許可されていません。
これはセキュリティ対策の一環で、アップロードされたファイルの拡張子と実際の中身が一致しているかをチェックする機能です。
具体的には、テキストファイルを画像ファイルの拡張子(jpg,png)に書き変えて、アップロードしようとしても、今までは拡張子のみのチェックでしたので、エラーとはなりませんでしたが、今後は拡張子と実際の中身が違えば、怪しいファイルと認識されてしまいます。
Windowsなどでは、実際の中身と拡張子が違っていても、参照できてしまうケースも多く、気づかない方も多いのではないでしょうか。
このチェック機能はPHPのfinfo_file関数を利用しています。(この結果に依存する)
[PHP]http://php.net/manual/ja/function.finfo-file.php
この機能と今までのチェック機能だったアップロードを許可するMIMEタイプを事前に登録することで、より強固なセキュリティ対策を実現しています。
これを回避するには下記の2つの方法があります。
- 「Disable Real MIME Check」プラグイン等を導入してチェック機能を無効化する
- finfo_file関数で返されるMIMEタイプをWordPressへ登録する(add_filter(‘upload_mimes’,’******’)で、そのMIMEタイプを追加する)
このエラーでお困りの方は、リスクを容認した上で、一旦機能を無効化してしまうのも1つの方法です。