通过图片上传的恶意代码

Jas*_*all 6 php validation image-processing

我网站的一部分允许用户上传个人资料照片.我担心人们上传恶意代码.我打算将文件类型限制为.jpg/.png/.gif/.jpeg

我担心这还不够.我将在服务器上调整大小的图像.调整照片大小的过程是否足以确保图像实际上是图像而非恶意文件?

我将使用以下内容来调整照片大小.我不会将原件存储在服务器上,文件名也会被更改.

imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

    imagejpeg($thumb, $fullpath, 90);
Run Code Online (Sandbox Code Playgroud)

use*_*016 9

简单地这样做可以确保您处理图像:

if (getimagesize($sourcePath) === false)
{
   die("Not an image !");
}
Run Code Online (Sandbox Code Playgroud)

为了更安全,您应该在upload文件夹中禁用PHP执行.在.htaccess中:

php_value engine off
Run Code Online (Sandbox Code Playgroud)