ホームページ >バックエンド開発 >PHPチュートリアル >PHP は画像が標準画像かどうかを判断します (改ざんされた画像がアップロードされるのを防ぐため)

PHP は画像が標準画像かどうかを判断します (改ざんされた画像がアップロードされるのを防ぐため)

WBOY
WBOYオリジナル
2016-06-13 13:04:33844ブラウズ

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;
	}

}
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。