PHP でアップロードされたファイルの種類を正確に判断する方法
オンライン ファイル共有とアップロードの人気が高まる中、ファイルをチェックするアップロードされるファイルの種類を確認することは、セキュリティとデータの整合性を確保するための重要な手段です。 PHP では、これを行うために使用できるメソッドがいくつかあります。ただし、前述のオプションには制限があります。
PHP の組み込み関数: 制限
is_uploaded_file() 関数と move_uploaded_file() 関数は、ファイルがアップロードされました。ファイルの種類に関する情報は提供されません。
MIME タイプのチェック: 欠陥と変更可能
MIME (MultiPurpose Internet Mail Extensions) タイプは、ファイルの識別に使用できます。しかし、それらは不正確であるか、なりすまされていることがよくあります。ブラウザとオペレーティング システムは、MIME タイプを異なる方法で解釈することもあります。
拡張子のチェック: 簡単に変更可能
ユーザーがファイルの名前を簡単に変更して変更できるため、ファイル拡張子のチェックも同様に信頼できません。
解決策: MIME タイプと Fileinfo
ファイル タイプを正確に判断するには、PHP の mime_content_type または Fileinfo 拡張子の使用を検討してください。これらのコマンドは、ヘッダーや拡張子に依存するのではなく、ファイルの内容を検査します。
system("file -bi $uploadedfile") を使用する代替方法
前述したように、 system("file -bi $uploadedfile") コマンドもファイルの種類を判断するのに効果的です。ただし、特にファイルが破損している場合、またはシステムに必要なツールがインストールされていない場合は、結果が常に正確であるとは限らないことに注意してください。
追加の考慮事項
ここで説明した方法に加えて、ファイル タイプをチェックするための一般的なヒントをいくつか紹介します。
以上がPHP でアップロードされたファイルの種類を正確に判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。