Mailinglisten-Archive |
Hallo Yannik, Yannik Hampe schrieb: > Nein, denn: > Wenn der Dateiname vom Client ein null-Byte enthält (xyz.php%00.txt) > Dann wird dir php bestätigen, dass der Dateiname auf .txt endet. Beim > verschieben der Datei geht alles ab dem nullbyte verloren. > Um das mal zu verdeutlichen: > ---- > %php -a > Interactive shell > > php > echo bin2hex("a\0b"); > 610062 > php > var_dump(file_exists("a")); > bool(false) > php > touch("a\0b"); > php > var_dump(file_exists("a")); > bool(true) > ---- > Wenn du kannst solltest du die Dateien in einem Ordner speichern, der > für den Webserver nicht zugänglich ist und die Datein umbenennen (zum > Beispiel mit Hilfe einer id aus einer DB oder mit uniqid. Oder du > wendest einmal rawurlencode() auf die Funktion an: > ---- > php > echo rawurlencode("a\0b"); > a%00b > ---- das mit dem null-Byte habe ich jetzt hoffentlich verstanden. Den Vorschlag mit rawurlencode() noch nicht. Geht es nicht darum, das null-Byte zu entfernen? Könnte ich nicht auch den string aus $_FILES['filename']['name'] in einer Variaben speichern, diese daraufhin abklopfen, ob ein solches null_Byte enthalten ist und dann entsprechend die weitere Verarbeitung mit move_uploaded_file untersagen? Liebe Grüße Armin -- Armin Briatta Fotografie und Webdesign Kirchbergweg 2 64367 Mühltal-Trautheim (0173) 6 54 97 10 www.briatta.de
php::bar PHP Wiki - Listenarchive