We have a proxy PHP script and access POST form data via
$postPayload = file_get_contents('php://input');
which usually works.
(The reason to not use $_POST
is that we sometimes have duplicate form input names which PHP suppresses)
Now we have a form with
<form name="form" method="post"
action="/script.php" enctype="multipart/form-data">
In this case file_get_contents('php://input');
returns an empty string.
It can be reproduced with
curl 'http://localhost/script.php' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Referer: http://localhost/script.php?commandCode=NO_AUTH_REGIST_OPEN_USER&lang=de' -H 'Origin: http://misumi-europe.com.orange.imi.local' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36' -H 'Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryk3IVneARm3kqJ0fs' --data-binary $'------WebKitFormBoundaryk3IVneARm3kqJ0fs
Content-Disposition: form-data; name="commandCode"
NO_AUTH_NEXT
------WebKitFormBoundaryk3IVneARm3kqJ0fs
' --compressed
How can I access the RAW POST data in this case?