phpbar.de logo

Mailinglisten-Archive

[php] Prüfung nach Dateiupload per Formular

[php] Prüfung nach Dateiupload per Formular

Armin Briatta austausch at briatta.de
Son Nov 11 18:51:44 CET 2007


Hallo Yannik,

Yannik Hampe schrieb:

> 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
> ----

Danke für die Mühe, so ganz habe ich das noch nicht verstanden und 
verdaut, ich muss mir das ganz in Ruhe nochmal anschauen.

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