Bug #12426 Updated: Critical PHP bug while processing big POST data (>10K)

From: Date: Thu, 02 Aug 2001 23:16:25 +0000
Subject: Bug #12426 Updated: Critical PHP bug while processing big POST data (>10K)
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-61896@lists.php.net to get a copy of this message
ID: 12426 User updated by: dk@dklab.ru Reported By: dk@dklab.ru Status: Open Bug Type: HTTP related Operating System: RedHat Linux 7.0 2.2.16-22smp PHP Version: 4.0.6 New Comment: Well, some days ago I had tried to patch PHP myself. No result :-( I have found that PHP does not get POST data larger than about 4000 bytes (3996). There is a constant in SAPI.h: #define SAPI_POST_BLOCK_SIZE 4000 I understand that this constant explains the block size, which is used by PHP to read data from stdin in function: SAPI_POST_READER_FUNC(sapi_read_standard_form_data) in SAPI.c. It is very VERY weird, but when I set SAPI_POST_BLOCK_SIZE to, for example, 10000, POST data is cutted by 4000 bytes again (not 10000, as I expected)! It looks like there is no bug in block-oriented algorythm of POST reading, but then why 4000?.. PS: you think that it is HTTP-related bug? I don't think so: PHP3 works correctly... Previous Comments: ------------------------------------------------------------------------ [2001-07-27 10:57:49] dk@dklab.ru I have configured PHP4 to process POST data less than 8000000 (phpinfo() reports that, see below). When I use the following script and enter a large block of text in the form, PHP4 cuts it off. Please test http://www.dklab.ru/test.php (with phpinfo() call, form at the bottom of the file) http://dklab.ru/content.txt (the file I am inserting - please test it) Here is the script: <? show_source("test.php"); echo @$text; ?> <form action=test.php method=post> <textarea cols=60 rows=10 name=text wrap=virtual> <?$f=fopen("content.txt","r"); echo fread($f,100000)?> </textarea><br> <input type=submit name=go value="Go!"> </form> I have encountered that use of multipart/form-data forms solves this problem, but usual POST forms does not work correctly. PHP3 also work correct with such forms. ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=12426&edit=1

« previous php.dev (#61896) next »