PHPで$_FILES['userfile']['type']が信用できない問題について $_FILES['userfile']['type']は信用できませんという記述がPHPのマニュアルにはあります。 URL:http://www.php.net/manual/ja/features.file-upload.php そこで何か対策はないかと思い調べてみるとこういう素晴らしいページに出会いました。 タイトル:『ファイルの先頭8バイトだけで画像のフォーマットを調べる』 URL:http://labs.gmo.jp/blog/ku/2007/05/8.html そこには以下の正規表現で各フォーマットのヘッダを調べると良いとありました。 if ( preg_match( '/^\x89PNG\x0d\x0a\x1a\x0a/', $image_stream) ) { $type = "png"