画像アップロードサイトがあります。誰かがここにシェル ファイルをアップロードしています。私の検証は次のとおりです。 - ファイルの MIME をチェックします (イメージの MIME のみが可能です) - getimagesize が配列を返すかどうかをチェックします (is_array による) そうでない場合はエラーです。それでも、誰かがシェル ファイルをアップロードしています。助けてください。ありがとうございます!
ちょっとしたチェック:
$ext = ($_FILES['files']['type']);
if (($ext != "image/jpeg") && ($ext != "image/pjpeg") && ($ext !="image/png") && ($ext != "image/gif") && ($ext != "image/bmp") && ($ext != "image/x-icon") && (!is_array(getimagesize($_FILES['files']['tmp_name'])))) {
// Show error
} else {
// Keep upload...
}