ファイルのアップロードを処理する場合、受信したファイルが意図した基準を満たしていることを確認することが重要です。 PHP では、ファイルが画像であるかどうかを確認することは、セキュリティと適切な機能にとって重要なタスクです。
ファイル拡張子のチェック (例: .jpg、.png)これは一般的ですが信頼性の低いアプローチです。悪意のあるユーザーは、悪意のあるファイルの拡張子を簡単に変更して、このチェックを回避できます。
getimagesize() 関数は、ファイルが不正なファイルであるかどうかを判断するより正確な方法を提供します。イメージです。ファイルを解析して、幅、高さ、MIME タイプなどの情報を抽出しようとします。ファイルが画像でない場合は、false を返します。
ここでは、getimagesize() を使用して画像を検証する方法の例を示します。
<code class="php">if (@is_array(getimagesize($mediapath))) { $image = true; } else { $image = false; }</code>
ファイルが画像の場合、getimagesize() は次のような配列を返します:
Array ( [0] => 800 [1] => 450 [2] => 2 [3] => width="800" height="450" [bits] => 8 [channels] => 3 [mime] => image/jpeg )
getimagesize() を使用すると、画像のセキュリティと精度を強化できます。 PHP での検証プロセス
以上がPHP での画像検証における拡張子チェックは信頼できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。