Bug #76444 [Opn]: can't read stream from multipart requests

From: Date: Mon, 11 Jun 2018 08:26:01 +0000
Subject: Bug #76444 [Opn]: can't read stream from multipart requests
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-215597@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=76444&edit=1 ID: 76444 User updated by: clark at electrobeat dot dk Reported by: clark at electrobeat dot dk Summary: can't read stream from multipart requests Status: Open Type: Bug Package: Streams related Operating System: debian stretch PHP Version: 7.0.30 Block user comment: N Private report: N New Comment: want to delete the url to my server Previous Comments: ------------------------------------------------------------------------ [2018-06-11 08:23:57] clark at electrobeat dot dk Description: ------------ It's not possible to read the request stream from multipart/form-data requets $body = file_get_contents('php://input'); It seems like it has been a open bug for many years so I don't get why it has never been fixed!? If a user uploads a file you can't even check if the data part is gzipped or anything.. It doesn't make sense that you only can read streams from some request streams but not from others!? Test script: --------------- $boundary = 'jlasdifj439'; $field1 = json_encode(['test' => 123]); $body = '--'.$boundary."\r\n" .'Content-Disposition: form-data; name="json"; filename="file.pdf"'."\r\n" .'Content-Type: application/json'."\r\n" .'Content-Length: '.strlen($field1)."\r\n\r\n" .$field1."\r\n" .'--'.$boundary.'--'; $socket = curl_init(); curl_setopt_array($socket, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_VERBOSE => true, CURLOPT_ENCODING => '', CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_2_0, ]); curl_setopt($socket, CURLOPT_URL, 'https://api-scan.dynaccount.com/'); curl_setopt($socket, CURLOPT_HTTPHEADER, [ 'Content-Type: multipart/form-data; boundary='.$boundary, ]); curl_setopt($socket, CURLOPT_POSTFIELDS, $body); if(!$response = curl_exec($socket)){ echo "ERROR!"; } echo $response; ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=76444&edit=1

« previous php.bugs (#215597) next »