PHP - 防止html5输入类型文件属性多次破解?

时间:2016-12-14 13:33:32

标签: php html html5

您好我正在进行表单上传4个文件字段。每个字段可以上传1个文件。

但我知道黑客可以用firebug破解添加html5"多个"属性。(见截图) enter image description here

然后黑客可以上传超过4个文件,因为我不想发生这种情况。

问题:如何将上传文件限制为4个文件?

这是我当前的代码

for($i=0;$i<count($_FILES["file"]["name"]);$i++) {
    if($_FILES["file"]["name"][$i] != "") {
        $split = explode('.', $_FILES["file"]["name"][$i]);
        $ext = end($split);
        $tempFile = $_FILES['file']['tmp_name'][$i];          //3             


        $targetFile =  "upload/". date('Y-m-d')."_".($i+1).".".$ext;  //5

        move_uploaded_file($tempFile,$targetFile); //6
    }
}

...

<form method="post" action="upload.php" enctype="multipart/form-data">
    <input type="file" name="file[]"/><br>
    <input type="file" name="file[]"/><br>
    <input type="file" name="file[]"/><br>
    <input type="file" name="file[]"/><br><br>
    <input type="submit" value="Upload"/>
</form>

1 个答案:

答案 0 :(得分:1)

这样的事情必须在服务器端进行验证。

if(count($_FILES["file"]["name"]) > 4) {
    // show the user an error and refuse to continue
}