2

I have a php page that accept an image and it will save the image on the server. I have installed a plugin called openHTTPRequester on my firefox which allows me to send raw http request. The problem is why the php page can read my image when i send the image using base64 string. Here is the request that I sent:

Content-Type: multipart/form-data; boundary=---------------------------63372074115730885141227476581
-----------------------------63372074115730885141227476581
Content-Disposition: form-data; name="fileToUpload"; filename="sample image.png"
Content-Type: image/png

data:image/png;base64,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
-----------------------------63372074115730885141227476581--

This is the php code that handles the image file upload:

<?php
$target_dir = "userFile/U1/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
$fileABC = array();

 $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
 $fileABC["getImageSize"] = $check;
    echo "this is file content: \n";
    echo file_get_contents($_FILES["fileToUpload"]["tmp_name"]);
    echo "End of file content \n";
    echo json_encode($fileABC);
    move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file);

?> 
dramasea
  • 3,370
  • 16
  • 49
  • 77
  • 1
    You'll probably get more responses if you also include a portion of the script that's handling the request, as well as any and all output, including errors hidden in log files. Also, it there any reason why you're not simply using an HTML input field with the type set to file? – Ghedipunk Dec 15 '15 at 16:29
  • I wish I could know more about the inner component of how sending an image to the server works – dramasea Dec 15 '15 at 17:38

0 Answers0