#46745 [Opn->Fbk]: Multipart/form-data field names truncated at semicolon in certain cases

From: Date: Mon, 08 Dec 2008 11:52:46 +0000
Subject: #46745 [Opn->Fbk]: Multipart/form-data field names truncated at semicolon in certain cases
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-131745@lists.php.net to get a copy of this message
 ID:               46745
 Updated by:       jani@php.net
 Reported By:      david at sickmiller dot com
-Status:           Open
+Status:           Feedback
 Bug Type:         HTTP related
 Operating System: Linux
 PHP Version:      5.2.6
 New Comment:

Eh..what's the actual bug here? If you pass crap to PHP, you get crap
back.


Previous Comments:
------------------------------------------------------------------------

[2008-12-03 21:54:47] david at sickmiller dot com

Description:
------------
When a form is submitted using multipart-/form-data enctype, PHP will
truncate field names if they contain semicolons and certain other
characters.  It seems to happen when there is an uneven number of
quotation marks that precede the semicolon.

Reproduce code:
---------------
<html><form action="semicolon.php" method="POST"
enctype="multipart/form-data">
                <input type="hidden" name="before ; after">
                <input type="hidden" name="&quot; before ; after">
                <input type="hidden" name="' before ; after">
                <input type="hidden" name="' ' before ; after">
                <input type="hidden" name="' &quot; before ;
after">
                <input type="hidden" name="&quot; ' before ;
after">
                <input type="hidden" name="&quot; &quot; before ;
after">
                <input type="hidden" name="&quot; ' ' before ;
after">
                <input type="hidden" name="&quot; ' &quot; before ;
after">
                <input type="hidden" name="&quot; &quot; ' before ;
after">
                <input type="hidden" name="&quot; &quot; &quot; before
; after">
                <input type="hidden" name="' ' ' before ;
after">
                <input type="hidden" name="' ' &quot; before ;
after">
                <input type="hidden" name="' &quot; ' before ;
after">
                <input type="hidden" name="' &quot; &quot; before ;
after">
                <input type="submit">
</form><pre><?php
print_r($_POST);
?></pre> </html>


Expected result:
----------------
Array
(
    [before_;_after] => 
    ["_before_;_after] => 
    ['_before_;_after] => 
    ['_'_before_;_after] => 
    ['_"_before_;_after] => 
    ["_'_before_;_after] => 
    ["_"_before_;_after] => 
    ["_'_'_before_;_after] => 
    ["_'_"_before_;_after] => 
    ["_"_'_before_;_after] => 
    ["_"_"_before_;_after] => 
    ['_'_'_before_;_after] => 
    ['_'_"_before_;_after] => 
    ['_"_'_before_;_after] => 
    ['_"_"_before_;_after] => 
)


Actual result:
--------------
Array
(
    [before_;_after] => 
    ["_before_] => 
    ['_before_;_after] => 
    ['_'_before_;_after] => 
    ['_"_before_] => 
    ["_'_before_;_after] => 
    ["_"_before_;_after] => 
    ["_'_'_before_] => 
    ["_'_"_before_;_after] => 
    ["_"_'_before_;_after] => 
    ["_"_"_before_] => 
    ['_'_'_before_;_after] => 
    ['_'_"_before_] => 
    ['_"_'_before_;_after] => 
    ['_"_"_before_;_after] => 
)



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


-- 
Edit this bug report at http://bugs.php.net/?id=46745&edit=1



Thread (7 messages)

« previous php.bugs (#131745) next »