ホームページ  >  記事  >  バックエンド開発  >  アップロードされたファイルが画像かどうか、または安全かどうかを判断する方法

アップロードされたファイルが画像かどうか、または安全かどうかを判断する方法

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

アップロードされたファイルが画像であるか、または安全であるかどうかを判断する方法
アップロードされたファイルが画像であるか、または安全であるかどうかを判断する方法
-----解決策---- ----------- -----
通常、ファイル名の元の接尾辞は、アップロード時にファイルを識別するために使用され、保存後にも対応するタイプになります。安全性については、実行可能ファイルでない限り、基本的には安全です。
------解決策---------
$_FILES["file"]["type " ] -- アップロードされたファイルの種類を判断できます。

安全性に関しては、お客様の基準によって異なります。
------解決策----------------------
入ってくるものは何も信じないでください、そうでなければあなたはだまされやすさという苦い薬を飲み込もうとしています
私のこの写真についてどう思いますか?

$im = imagecreate(1,1);<br />$color = imagecolorallocate($im, 255, 0, 0);<br />imagegif($im, '1.gif');<br />$s =<<< TXT<br /><?php<br />phpinfo();<br />?><br />TXT;<br />file_put_contents('1.gif', $s, FILE_APPEND);<br />print_r(getimagesize('1.gif'));<br />echo '<img src=1.gif width=40>';<br />include '1.gif';

-----解決策--------------------------------
mime_content_type を使用してタイプを確認します
http://php.net/manual/zh/function.mime-content-type.php

通常は imagemagick を使用して画像に変換します一度。
------解決策---------

引用:
入ってくるものは何も信用しないでください。そうでないと、騙されやすいという苦い薬を飲み込むことになります
私のこの写真についてどう思いますか?
$im = imagecreate(1,1);<br />$color = imagecolorallocate($im, 255, 0, 0);<br />imagegif($im, '1.gif');<br />$s =<<< TXT<br /><?php<br />phpinfo();<br />?><br />TXT;<br />file_put_contents('1.gif', $s, FILE_APPEND);<br />print_r(getimagesize('1.gif'));<br />echo '<img src=1.gif width=40>';<br />include '1.gif';


コードをテストして phpinfo() が実行されましたが、誰が画像を含めるでしょうか?
そのような画像は決して実行されませんよね?
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。