phpbar.de logo

Mailinglisten-Archive

[php] move_uploaded_file und safe_mode

[php] move_uploaded_file und safe_mode

Andreas Heigl a.heigl at wdv.de
Mon Jun 27 13:25:05 CEST 2005


susanne schrieb:

> Susanne Jäger schrieb, am 23.06.2005 17:09:
> 
> [snip]
> 
>> Habe ich etwas übersehen, oder ist unter diesen Bedingungen jeglicher
>> Dateiupload zum Scheitern verurteilt?
> 
> Hat wirklich niemand einen Tipp für mich? Es kann doch nicht sein, dass
> safe_mode jeden Dateiupload unmöglich macht. Ist der Server falsch
> konfiguriert oder habe ich doch einen blöden Fehler im Skript?
> Was könnte ich denn noch testen?

move_uploaded_file() kann nur auf Dateien zugreifen, die dieselben
Zugriffsrechte haben, wie das Skript, in dem der Befehl auftacht.

ls -l upload.php
-rw-r--r--    susanne    ftpuser ipload.php

Bedeutet: Das Skript Upload gehört susanne und der Gruppe ftpuser.
Daher muss auch die hochgeladene Datei susanne gehören, sonst kann die Datei
upload.php nicht drauf zugreifen.

Wenn du aber die Temporäre hochgeladene Datei anschauen kannst, wirst du
folgende Rechtevergabe feststellen:

ls -l tempDatei
-rw-r--r--    wwwrun     wwwrun   temporäreDatei

Heisst: Der Webserver hat die Rechte an der hochgeladenen Datei. Damit kann
dein skript nicht dran!

Wir haben bei uns im Betrieb bisher zwei Möglichkeiten gefunden, das ganze
zum laufen zu bringen:

1. Benutze nicht safe_mode sondern safe_mode_gid ( dann muss 'nur noch' die
Gruppe dieselbe sein)

2. Ändere den Besitzer deiner Skripts in 'wwwrun'.

Was jetzt praktikabler für dich ist, musst du entscheiden.....

Und wenn noch jemand weitere Möglichkeiten kennt, bitte melden.

Grüße

Andreas

PS. Kann es sein, dass unter
http://de2.php.net/manual/de/function.move-uploaded-file.php die Anmerkungen
jeweils das gegenteil voneinander behaupten? Oder kann ich wieder nur nicht
lesen?
-- 

wdv Medien & Kommunikation GmbH & Co. OHG
Mediendatenverarbeitung
Andreas Heigl
Siemensstrasse 6
61352 Bad Homburg
Germany
Telefon +49-(0)6172-670-185
Telefax +49-(0)6172-670-181
www.wdv.de



php::bar PHP Wiki   -   Listenarchive