Bug #22427 [Com]: Missing Form Post Data
| From: | chris at manhattaninteractive dot com | Date: | Tue, 02 Apr 2013 01:54:28 +0000 |
| Subject: | Bug #22427 [Com]: Missing Form Post Data | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-178223@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=22427&edit=1
ID: 22427
Comment by: chris at manhattaninteractive dot com
Reported by: jroland at uow dot edu dot au
Summary: Missing Form Post Data
Status: No Feedback
Type: Bug
Package: *General Issues
Operating System: Windows XP / 2000
PHP Version: 4.2.3
Block user comment: N
Private report: N
New Comment:
Seems like I have the original issue, but not with the same symptoms of all the off-topic add ins
over the years. Ubuntu 12.04, php 5.3.10-1ubuntu3.6
Problem exists in all browsers (yes, FF 19.0.2), did not with same scripts on previous system
(centos, php 5x). TamperData shows the request going out with:
18:16:20.556[227ms][total 227ms] Status: 200[OK]
POST http://XXXXXXXXX.com/YYYYYYYYY/TARGET_SCRIPT.php
Load Flags[LOAD_BYPASS_CACHE LOAD_BACKGROUND INHIBIT_CACHING ] Content Size[1303] Mime
Type[text/html]
Request Headers:
Host[XXXXXXXXX.com]
User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0]
Accept[application/json, text/javascript, */*; q=0.01]
Accept-Language[en-US,en;q=0.5]
Accept-Encoding[gzip, deflate]
DNT[1]
Content-Type[application/x-www-form-urlencoded; charset=UTF-8]
X-Requested-With[XMLHttpRequest]
Referer[http://XXXXXXXXX.com/YYYYYYYYYYY/ZZZZZZZ1.php]
Content-Length[89]
Authorization[Basic cHJfZGVtb1VzZXI6NElQY01F]
Connection[keep-alive]
Pragma[no-cache]
Cache-Control[no-cache]
Post Data:
customerID[915690000000000000000000000000c4f]
reportTitle[Sample]
responseFormat[json]
toolName[newRep]
sub1[6000000]
sub2[]
sub3[]
Response Headers:
Date[Tue, 02 Apr 2013 01:16:21 GMT]
Server[Apache/2.2.22 (Ubuntu)]
Vary[Accept-Encoding]
Content-Encoding[gzip]
Content-Length[1303]
Keep-Alive[timeout=5, max=100]
Connection[Keep-Alive]
Content-Type[text/html]
Problem is, the php script called only gets the first three post vars. This is 100% consistent, I
have tried expanding the suhosin caps, and also disabling suhosin completely (via
"suhosin.simulation = On" in php.ini) with no change in behavior. It is shocking to me
that a critical issue like this has been allowed to persist for 10 years!
Previous Comments:
------------------------------------------------------------------------
[2013-02-18 00:04:55] php-bugs at lists dot php dot net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.
------------------------------------------------------------------------
[2012-10-17 14:39:15] vincentwansink at shaw dot ca
I am having this problem now with version 5.4.0. I am shocked to see that this
issue has been around since 2003 and it is still happening. I've been using PHP
for about 8 years and never came across this before. Also this just started
happening to me after I moved my site to a brand new server and upgraded to
version 5.4 so I'm guessing there must be some unique configuration combination
that causes this to happen.
I am having it happen with small text fields (20 characters or less). Being
able to rely on post back data is obviously critical to any PHP application so
why is this bug still around? It's embarassing to have to tell my clients "I
don't know why it's doing that".
------------------------------------------------------------------------
[2010-07-07 10:52:52] pajoye@php.net
We don't support PHP 4 anymore and we never supported patched PHP (like with Suhosin).
Please try again with a recent PHP version, unpatched.
------------------------------------------------------------------------
[2010-07-07 10:47:00] kernelu at gmail dot com
Had the same problem (the submited data was truncated) and fixed it by editing the suhosin.ini file,
something like this(uncommented some lines and increased the values):
; Filtering Options
;suhosin.filter.action =
;suhosin.cookie.max_array_depth = 100
;suhosin.cookie.max_array_index_length = 64
;suhosin.cookie.max_name_length = 64
;suhosin.cookie.max_totalname_length = 256
;suhosin.cookie.max_value_length = 10000
;suhosin.cookie.max_vars = 100
;suhosin.cookie.disallow_nul = on
suhosin.get.max_array_depth = 150
suhosin.get.max_array_index_length = 164
suhosin.get.max_name_length = 164
suhosin.get.max_totalname_length = 512
suhosin.get.max_value_length = 1024
suhosin.get.max_vars = 500
suhosin.get.disallow_nul = on
suhosin.post.max_array_depth = 500
suhosin.post.max_array_index_length = 1024
suhosin.post.max_name_length = 164
suhosin.post.max_totalname_length = 1256
suhosin.post.max_value_length = 650000
suhosin.post.max_vars = 1200
suhosin.post.disallow_nul = on
suhosin.request.max_array_depth = 500
suhosin.request.max_array_index_length = 1024
suhosin.request.max_totalname_length = 1256
suhosin.request.max_value_length = 650000
suhosin.request.max_vars = 1200
suhosin.request.max_varname_length = 164
suhosin.request.disallow_nul = on
;suhosin.upload.max_uploads = 25
;suhosin.upload.disallow_elf = on
;suhosin.upload.disallow_binary = off
;suhosin.upload.remove_binary = off
;suhosin.upload.verification_script =
;suhosin.session.max_id_length = 128
------------------------------------------------------------------------
[2010-02-03 10:22:15] lars at renoz dot dk
Same problem here - $_POST is randomly incomplete or empty.
I have only seen this with IE - from version 6 to 8.
tcpdump shows a bit more of the story:
user sends:
POST /bla.php?id=bla
...
Content-Length: 80
but there is no data in that packet.
A bit later Apache reaches timeout, and closes the connection. At this point it send a 503 error to
the user, but executes PHP with the incomplete post.
After the user received the 503 error - the browser actually sends a packet with the missing post
data. Strange and clearly a browser bug. It should be noted that the post is so small that there is
plenty of room in the first packet.
Now - the strange part is - why is PHP being executed? And why is PHP allowing it self to be
executed. Content-Length is clearly invalid, and the conntection is closed (and PHP is setup to
ignore aborted requests (ignore_user_abort is off).
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=22427
--
Edit this bug report at https://bugs.php.net/bug.php?id=22427&edit=1