|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2016-12-29 07:56 UTC] laruence@php.net
[2016-12-29 07:56 UTC] laruence@php.net
-Status: Open
+Status: Closed
[2017-01-05 13:06 UTC] ab@php.net
-Status: Closed
+Status: Re-Opened
[2017-01-05 13:06 UTC] ab@php.net
[2017-02-08 00:11 UTC] nikic@php.net
[2017-02-08 00:11 UTC] nikic@php.net
-Status: Re-Opened
+Status: Closed
[2017-03-28 11:19 UTC] ab@php.net
[2017-03-28 11:24 UTC] ab@php.net
[2017-03-28 11:35 UTC] ab@php.net
-Status: Closed
+Status: Re-Opened
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 20:00:01 2025 UTC |
Description: ------------ When a user has a really slow connection (we experienced the problem with POSTs longer than single TCP/IP frame) it may happen, that in expected amount of time the number of POST body bytes transmited is less than announced in Content-Length header. It seems, that even with the mod_reqtimeout installed and configured, apache2 happilly passes the request to PHP interpreter, with $_POST set to an empty array. It does so if the reqeusted page is a PHP script, which is inconsistent with the way a static HTML file is handled (400 Bad Request). Test script: --------------- I assume you have a script with var_dump($_POST) on the server. Please note how 1755 is much greater than "foo=bar" length netcat localhost 80 POST / HTTP/1.0 Content-Type: application/x-www-form-urlencoded Content-Length: 1755 foo=bar Expected result: ---------------- 408 Request Timeout or 504 Gateway Timeout or 400 Bad Request or in the worst case 200 OK array(1){ "foo" => "bar" } Actual result: -------------- 200 OK array(0){ }