ホームページ >バックエンド開発 >PHPチュートリアル >PHP は画像が標準画像かどうかを判断します (改ざんされた画像がアップロードされるのを防ぐため)
PHP は、画像が標準画像であるかどうかを判断します (画像アップロードの改ざんを防ぐため)
プロジェクトのセキュリティ検査中に、特定の一連のプロジェクトで画像のアップロード時にサフィックス名のみがチェックされることが判明し、その結果、特定のコードを含む「画像」もサーバーにアップロードされる可能性があり、重大な問題が発生しました。隠れた危険。画像が正しいかどうかを確認する方法を書きました。 (この方法は完全に検証できておりません。画像のソースコードにコードが追加されているかどうかは判断できません。ただし、画像に透かしなどの加工を施した場合、コードを含む画像はPHPとして実行すると無効になります)
?
/* *判断上传的图片是否为标准图片 *$file $FILES['']获取的值 *return 正常图片 true ; 异常图片 false; */ function isimage($file){ if ($file["type"] == "image/gif") { @$im = imagecreatefromgif($file['tmp_name']); } elseif ($file["type"] == "image/png" || $file["type"] == "image/x-png") { @$im = imagecreatefrompng($file['tmp_name']); } else { @$im = imagecreatefromjpeg($file['tmp_name']); } if($im==false){ return false; }else{ return true; } }