Dmitri Zasypkin wrote:
> Hi,
>
> Could anyone help me with altering PHP sources? Or tell me please where
> may I ask this question?
>
> The problem is when PHP handles a POST request of a known Content-type
> (e.g. x-www-form-urlencoded), it leaves $HTTP_RAW_POST_DATA blank. I
> need to alter the sources so that PHP would always put the request data
> into this variable.
>
> This would allow me to handle malformed POST requests. For example, if a
> client sends a request of Content-type x-www-form-urlencoded and the
> data is NOT really "urlencoded", such request seems to get lost. I can't
> find the data neither in $HTTP_RAW_POST_DATA, nor in $HTTP_POST_VARS. I
> figured it would be great if PHP could always set $HTTP_RAW_POST_DATA
> independently of the Content-type.

    **WILD GUESS ALERT**

    If you modify lines 140-150 of php4/main/SAPI.c from:

    --------------------------------------------------

    if (zend_hash_find(&known_post_content_types, content_type,
content_type_length+1, (void **) &post_entry)==SUCCESS) {
        SG(request_info).post_entry = post_entry;
        post_reader_func = post_entry->post_reader;
    } else {
        if (!sapi_module.default_post_reader) {
            sapi_module.sapi_error(E_WARNING, "Unsupported content type:
'%s'", content_type);
            return;
        }
        SG(request_info).post_entry = NULL;
        post_reader_func = sapi_module.default_post_reader;
    }

    --------------------------------------------------

    to:

    --------------------------------------------------

   SG(request_info).post_entry = NULL;
   post_reader_func = sapi_module.default_post_reader;

    --------------------------------------------------

    you *may* get the behavior that you are looking for.

    --zak


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to