如何更改我的PHP脚本以仅接受要在服务器上传的图像?

时间:2015-09-04 08:14:23

标签: php security server

我有一个简单的脚本来从移动应用上传图像。但是这个安全漏洞可以加载其他脚本。 如何只允许JPEG和PNG文件?

<?php
$name=$_GET['imgname'];

if ( substr($name, 0, 1) == '/' ) $name = substr($name, 1);

if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] )) {
    $fp = fopen( $name,"wb");
    fwrite( $fp, $GLOBALS[ 'HTTP_RAW_POST_DATA' ] );
    fclose( $fp );

     echo "filename=".$name;
}
?>

1 个答案:

答案 0 :(得分:0)

$name=$_GET['imgname'];   
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
if($imageFileType==="jpg" && 
   $imageFileType=== "png" && 
   $imageFileType=== "jpeg" && 
   $imageFileType=== "gif" ) {
   // start upload pic here
}

在这里你可以检查文件类型