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