Was ist das erwartete Verhalten, wenn ein Backslash in einem Multipart-Boundary-Attribut auftritt? Der RFC (Abschnitt 5.1.1) erlaubt es nicht, aber Apache scheinen diese Anforderung zu verstehen:Backslash im Multipart-Boundary-Attribut
POST/HTTP/1.1
Host: myhost.com
Content-Type: multipart/form-data; boundary="\foo"
Content-Length: 74
--\foo
Content-Disposition: form-data; name="bar"
baz
--\foo--
Für mich ist die Grenze von Apache interpretiert sollte „foo“, nicht „\ foo“ sein als die Backslash Escape das 'f' und die Post Variable "bar" sollte nicht gesetzt werden.
ich das Gefühl Apache hatte, war sehr freizügig, Nginx hat die gleiche tatsächlich. Ich verstehe deinen Standpunkt, aber das ist ein überraschendes Verhalten und ich frage mich wirklich, ob Apache es wollte oder ob es nur ein Fehler ist. Trotzdem danke. –
@JeffBencteux Nun, MIME ist ziemlich alt und die Implementierungen variieren stark. Ich vermute auch, dass die meisten Implementierer sich nicht darum kümmern, die RFCs sorgfältig zu lesen, daher müssen MIME-Parser ziemlich liberal mit ihren Eingaben umgehen. Wenn Sie interessiert sind, lesen Sie [diesen Blog-Beitrag] (http://jeffreystedfast.blogspot.com/2013/08/why-decoding-rfc2047-encoded-headers-is.html) über die Herausforderungen bei der Dekodierung von Headern und [dies rant] (http://jeffreystedfast.blogspot.com/2013/09/time-for-rant-on-mime-parsers.html) auf Parsern. – DaSourcerer