php 在做文件上传时,如何设置才能更安全

来源:百度知道 编辑:UC知道 时间:2024/05/18 09:03:56
php 在做文件上传时,如何设置才能更安全的达到只允许上传图片文件,不允许上传其他类型的文件,主要是防上传木马。

只允许上传图片,服务器端收到文件后,利用GD函数获取图片信息,对各属性超过范围的文件拒绝接受,我的程序例子如下:

$tmp_name=$HTTP_POST_FILES["f_image"][tmp_name];
$imginfo=getimagesize($tmp_name);
//压缩宽度超过800的图片为800,10K以上的JPG图片用30%进行压缩
if ($imginfo[0]>800){
echo "你上传的图片幅面为 $imginfo[0] x $imginfo[1] ,将被压缩到800个象素宽。<br>";
system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -sample 800 -quality 80 $tmp_name $tmp_name");
} elseif($imginfo[2]==2 && $src_size>10240) system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -quality 30 $tmp_name $tmp_name");