您好我正在进行表单上传4个文件字段。每个字段可以上传1个文件。
但我知道黑客可以用firebug破解添加html5"多个"属性。(见截图)
然后黑客可以上传超过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>
答案 0 :(得分:1)
像这样的事情必须在服务器端进行验证。
if(count($_FILES["file"]["name"]) > 4) {
// show the user an error and refuse to continue
}