Fritz: file upload - nur existierende Datei überschreiben zulassen

Beitrag lesen

Hallo,

per html Formular (passwortgeschützt) kann mein user eine bereits auf dem Server liegende Datei überschreiben - und _nur_ diese Datei. Damit möchte ich sicherstellen, daß der user nur bestimmte Dateien (= exakt gleicher Dateiname) aktualisieren kann, aber keine neuen Dateien hochladen.

Mein Ansatz dazu:

<?
$updir = "/home/meindir/updir";

/* file ausgewählt? */
if (!$file_name) {
die("<p>Keine Datei zum upload ausgewählt.</body></html>");
}

/* file speichern */
if (file_exists("$updir/$file_name")) {
@copy($file, "$updir/$file_name");
echo("<p>Dateiupload erfolgreich.</body></html>");
}
?>

Das funktioniert auch so weit - _meistens_?
Aber nicht immer!
Von usern wird mir berichtet, daß ihr Browser während des uploads hängenbleibt (Sanduhr).
Ich hab auch schon gesehen, daß files nur teilweise hochgeladen werden, und dann natürlich korrupt sind.

Wo liegt der Fehler in meinem Ansatz? was hab ich übersehen?
Zusatzfrage: gibt es sicherheitsrelevante Aspekte, die ich übersehen habe?
Danke für Euere Hilfe.

Gruß Fritz

--
ss:| zu:) ls:[ fo:| va:) ch:? n4:& rl:? br:& js:| ie:| fl:|