Can';使用PHP,CHMOD 777移动上传的文件

Can';使用PHP,CHMOD 777移动上传的文件,php,file,upload,chmod,Php,File,Upload,Chmod,我对PHP的move_上传的文件有点问题。 PHP文件和目录的CHMOD是777。 代码如下: $allowedExts = array("gif", "jpeg", "jpg", "png"); $target_path = "upl/" . $_FILES['uploadedfile']['name']; if(in_array(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION), $allowedExts) && $

我对PHP的move_上传的文件有点问题。 PHP文件和目录的CHMOD是777。 代码如下:

$allowedExts = array("gif", "jpeg", "jpg", "png");
$target_path = "upl/" . $_FILES['uploadedfile']['name']; 
if(in_array(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION), $allowedExts) && $_FILES['file']['size'] <= 10485760){
    if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
        echo "Skopiuj to i wklej do wpisu:<br>";
        echo "<input type='text' value='[img]http://***********/upl/" . $_FILES['file']['name'] . "[/img]'>";
    }else{
        echo "There was an error uploading the file, please try again!";
    }
}
$allowedExts=array(“gif”、“jpeg”、“jpg”、“png”);
$target_path=“upl/”$_文件['uploadedfile']['name'];

如果(在数组中)(pathinfo($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

上载的文件是否大于或

服务器是否使用?如果是,是否将文件写入已启用的目录

值得一提的是,在包含目录上设置文件模式777非常危险。您正在为服务器上的所有用户启用写访问权限。您是否考虑过更严格的设置,可能是774?这将使web组能够在目录中写入文件,但普通用户只能读取文件


在您的示例代码中,您信任客户端上载的文件名。您考虑过安全问题吗?

该代码非常危险。您直接使用用户提供的
['name']
作为文件的最终目标。恶意用户可以嵌入路径信息,您将允许他们在服务器上的任何位置涂鸦其文件。至少您只允许图像类型的文件名,但这仍然很危险。您只是假设上载成功。您是否费心检查
['error']
在尝试移动调用之前?如果没有有效的上传,移动将失败。只检查了错误,没有返回。我删除了所有的安全措施,试图找出它不起作用的原因。open_basedir |无值|无值文件大小小于最大文件大小。是否检查了post_max_大小?是HTML表单标记enc类型属性设置为“多部分/表单数据”?