3
Python 3.4を実行しているDjango 1.8でファイルアップロードを制限する方法を実装しています。Djangoファイルパターンを確認する
基本的に、アップロード時にファイルのMIMEタイプを確認するには、mimetypes
を使用します。しかし、ファイル名をbad_image.exe
からbad_image.exe.jpg
に変更すると、MIMEタイプはまだimage/jpeg
です。これは依然として悪意のある攻撃につながる可能性があります。
これを実際に実装する方法はありますか?
私はあなたの質問を編集しましたが、依然として '.exe 'から' .jpg'に変更するとまだ 'image/jpg'ですが、あなたがしていることと期待していることを明確にする必要があります。 – techraf
'.exe'ファイルの名前を' .jpg'ファイルに変更するだけです。例えば、 'bad_code.exe'は' bad_code.exe.pdf'に改名されます。このファイルの拡張子を正しく特定したいと思います。 – bryansis2010
1つの正しい拡張子がない可能性があります。ファイルは、複数の書式、つまり同時に複数の書類にすることができます。そして、解釈は文脈に依存します。詳細については、https://events.ccc.de/congress/2014/Fahrplan/system/attachments/2562/original/Funky_File_Formats.pdfを参照してください。 –