Henryk Plötz: Probleme mit POST Header (multipart/form-data)

Beitrag lesen

Moin,

OK, wieder einige Tests später, bin drauf gekommen das meine Contend-Angabe immer zu wenig war, habe mal bei einem Origuinalen Upload abgezählt, da war der letzte bundary auch mit bei, also habe ich das jetzt so geschrieben:

Ja, das ist mir vorher auch aufgefallen. Ich hatte dann überlegt, ob die Content-Length-Angabe nicht ohnehin überflüssig ist, da durch die Boundary ja klar ist, wann Schluss ist. Als es dann aber ohne Content-Length nicht ging, habe ich den Gedanken verworfen (und die fehlerhafte Länge gleich mit).

Was hälst Du von einer htaccess Authentifizierung:

$header .= "Authorization: Basic ".base64_encode("$username:$password").CRLF;

Ist ok. Das Zielskript sollte sowieso keine Daten von jemand anderem als localhost entgegennehmen (durch den Tunnel scheinen ja alle Anfragen von dort zu kommen) und über eine weitere Zugangssicherung musst du dir dann höchstens noch Sorgen machen, wenn du dir den Server mit Anderen teilst. Ein geheimer String den alle Clients kennen, sollte dafür ausreichen.

ich versuche jetzt einfach mal einen gz-String zu übertragen, vielleicht klappts ja einfach so!

Sollte eigentlich. Sicherheitshalber setz' den Content-Type mal auf application/octet-stream, damit da nicht noch irgend ein Programm auf dumme Ideen kommt.

Noch was: Die Boundary darf logischerweise nirgendwo in den übertragenen Daten vorkommen, was bei den hier beispielhaft verwendeten 4 Bytes schon mal passieren könnte (unendlich viele Affen und so ;-). Du solltest also entweder vorher einmal überprüfen ob sie drin ist und sie ggbf. ändern oder einfach einen längeren wilderen String nehmen, um die Wahrscheinlichkeit zu senken.

--
Henryk Plötz
Grüße von der Ostsee