イメージの場合、ファイル拡張子に依存するのは安全ではなく、拡張子を確認するためにgdのようなイメージライブラリを使用してphpを開こうとする方がよいと読んでいます。アップロードのファイルタイプを確認する
他の種類のファイルはどうですか? .docや.pdfなどのファイルタイプがある場合、どのようにファイルタイプが本当にそれが主張しているのかを本当に伝えることができますか?
イメージの場合、ファイル拡張子に依存するのは安全ではなく、拡張子を確認するためにgdのようなイメージライブラリを使用してphpを開こうとする方がよいと読んでいます。アップロードのファイルタイプを確認する
他の種類のファイルはどうですか? .docや.pdfなどのファイルタイプがある場合、どのようにファイルタイプが本当にそれが主張しているのかを本当に伝えることができますか?
* nixシステムの場合、file
コマンドは、mimeタイプを推測するのにかなり良い仕事をします。それは完璧ではなく、.tar.gz
のような '入れ子'型では失敗しますが、それはかなり良いです。
私はそれFileinfoがシェルに行くために必要とせずにfile
と同じマジックナンバーのアプローチを使用して理解したよう...
どのファイルタイプでも機能するかどうかわかりませんが、mime_content_typeまたはfiletypeを使用してMIMEタイプを確認できます。
'filetype'は、ファイルがすべてのブロック・デバイス通常のファイル、ディレクトリなどの場合のみを示していますアップロードすると "ファイル"が返されます。 mime_content_typeも非推奨です。 – tobyodavies
@tobyodavies。私はfileinfoとそのfinfo_fileを意味しました。間違って申し訳ありません。 – Marcin