如何防止扩展改变了用户上传的恶意文件

时间:2016-10-18 03:57:13

标签: javascript php

我有一个用户可以上传图片的网站。我限制了PNG,JPG,JPEG的文件扩展名。

问题:

我的本​​地计算机文件夹中存有一个zip文件。 Zip文件名=" lara.zip"

后来我把这个zip文件名更改为" Lara.jpg"

然后我通过这个上传脚本将这个带有jpg扩展名的zip上传到我的网站。 该脚本已成功提交,并将此文件上传到我的网站。

解决方案:????????????????????

问题:如何阻止用户上传扩展程序更改不需要的文件?我如何才能找到他们上传的文件正是一个图像???

谢谢。

现在我已经编辑了这个问题,但是如果代码是确认的延期,则代码不会检查此错误天气。



workGroup.notify(queue: DispatchQueue.main, execute: {
    self.descs = [self.query1desc, self.query2desc]
    self.carouselView.reloadData()
})




1 个答案:

答案 0 :(得分:0)

为你重构搞乱的块

$checkexactlyimage = getimagesize($_FILES['image_upload']['tmp_name']);   
$allowedTypes = array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF);
$detectedType = exif_imagetype($_FILES['image_upload']['tmp_name']);
$detectedTypeerror = !in_array($detectedType, $allowedTypes);

if($detectedTypeerror !== false) {
  echo "Only JPG,PNG and JEPG files are allowed";   
}else if( $checkexactlyimage === false)  {
  echo "Only JPG,PNG and JEPG files are allowed";   
}