#50749 [Bgs]: max_file_uploads counts empty uploads as well
| From: | rasmus@php.net | Date: | Fri, 15 Jan 2010 16:03:29 +0000 |
| Subject: | #50749 [Bgs]: max_file_uploads counts empty uploads as well | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-146708@lists.php.net to get a copy of this message | ||
ID: 50749
Updated by: rasmus@php.net
Reported By: anzenews at volja dot net
Status: Bogus
Bug Type: PHP options/info functions
Operating System: Linux
PHP Version: 5.2.12
New Comment:
The server does actually need resources even for an empty upload
because we don't necessarily know it is empty until late in the
request. We have to create the filename and sit and wait for the data,
even if none ever comes. So, from a server resource perspective there
is very little difference between an empty upload and a non-empty one.
Previous Comments:
------------------------------------------------------------------------
[2010-01-15 10:15:59] anzenews at volja dot net
Then this function is no better than the safe mode, magic quotes and
similar fiascos of PHP - useless and will be avoided, at least by me.
The purpose of this function is to protect the server from DOS attacks.
Does the server need many resources to process the empty files? I would
guess not.
On the other hand this is very limiting for forms that wish to have
many _optional_ file upload input fields (which was how I stumbled
across this bug).
Anyway, I'll just be careful to choose a host with this "feature"
turned off in the future, the same as I did with safe mode. :(
Oh, and by the way, turning it on by default in the very first
incarnation of this option is not very nice IMHO. It took me quite some
time to figure out what is going on since there are almost no pages with
this setting described yet. :(
------------------------------------------------------------------------
[2010-01-15 08:55:11] jani@php.net
Of course it does, that's exactly it's purpose: to limit maximum number
of uploads. And yes, even "empty" upload is an upload.
------------------------------------------------------------------------
[2010-01-14 13:46:53] anzenews at volja dot net
Description:
------------
Setting max_file_uploads limits the number of file input fields on HTML
page instead of limiting the number of actually uploaded files.
Reproduce code:
---------------
<form name="formData" action="" enctype="multipart/form-data"
method="post">
<?php
for ($i=0;$i<30;$i++)
{
echo "File ".($i+1).":<br />\n".
'<input name="file_'.$i.'" type="file" /><br
/>'."\n";
};
?>
<input value="OK!" type="submit" />
</form>
<pre>
<?php var_dump($_FILES) ;?>
</pre>
Expected result:
----------------
When you upload a single file (in the LAST!!! input box) and hit "OK!",
you should see the uploaded file.
Actual result:
--------------
Instead you see just 20 empty file uploads. (if max_file_uploads is set
to 20, as per default)
The max_file_uploads setting should never count empty files.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=50749&edit=1