PHP での画像ファイルの検証
PHP でファイルを受信する場合、セキュリティ上の理由から、それらが本物の画像であることを確認することが重要です。悪意のあるユーザーが画像のような拡張子を持つスクリプトの名前を変更する可能性があるため、ファイル拡張子のチェックのみに依存することは信頼性が低い可能性があります。
getimagesize() の使用
getimagesize() 関数は、次のことを提供します。受信したファイルが画像かどうかを判断するための包括的なアプローチ。幅、高さ、MIME タイプなど、画像に関する情報を含む配列を返します。実装方法は次のとおりです。
<code class="php">if (@is_array(getimagesize($mediapath))) { $image = true; } else { $image = false; }</code>
getimagesize() 関数が情報の配列を正常に取得した場合、ファイルが本物のイメージであることを示します。それ以外の場合は、画像以外のファイルである可能性があります。
サンプル出力
getimagesize() からの出力の例を次に示します。
Array ( [0] => 800 [1] => 450 [2] => 2 [3] => width="800" height="450" [bits] => 8 [channels] => 3 [mime] => image/jpeg)
この出力は、ファイルが実際に幅 800 ピクセル、高さ 450 ピクセル、MIME タイプが image/jpeg の画像であることを示しています。
以上がアップロードされたファイルは本当に画像ですか? PHP で画像ファイルを検証する方法。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。