怎么判断上传文件是否图片或是否安全 怎么判断上传文件是否图片或是否安全------解决方案-------------------- 一般是通过文件名的原始后缀来进行文件上传时候的判别,然后保存后也是对应的类型,至于安全的话只要不是可执行文件基本都算安全,不知道你想问的是啥安全。------解决方案-------------------- $_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 style="max-width:90%"如何判断上传文件是否图片或是否安全" >';<br />include '1.gif'; Copy after login
Copy after login
------解决方案-------------------- 使用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 style="max-width:90%"如何判断上传文件是否图片或是否安全" >';<br />include '1.gif'; Copy after login
Copy after login
我测试了你的代码,phpinfo()执行了,但是谁会去include一张图片呢? 这样的图片永远不会被执行吧?