Upload von Dateien via PHP

Dateigrößen und Schreibrechte

26.3.2010 von Redaktion pcmagazin und Tim Kaufmann

ca. 2:05 Min
Ratgeber
  1. Sichere Uploads per PHP - Bildergalerie & Co.
  2. Fehlerbehandlung
  3. Datei-Handling
  4. Dateigrößen und Schreibrechte

Funktioniert nicht: MAX_FILE_SIZE

Auf zahlreichen Websites und auch im PHPManual wird kolportiert, dass man zu große Dateien schon vor dem Upload abweisen könne. Dazu müsse man dem Browser die maximale Dateigröße (im folgenden Beispiel 100 MByte) lediglich über MAX_FILE_SIZE per Web-Formular mitteilen:

<input type="hidden" name=
"MAX_FILE_SIZE" value="100000">

Tatsächlich gibt es keinen Browser, der diese Funktion unterstützt.

Der Parameter wird lediglich von PHP ausgewertet - also erst nach dem Upload. Nach dazu ließe sich dieser Parameter, wenn er denn eine Wirkung hätte, benutzerseitig leicht manipulieren.

In der Praxis hat er aus diesen Gründen keine Bedeutung.

Schreibrechte

Zugriffsberechtigungen auf Webservern werden regelmäßig viel zu großzügig vergeben, was Sicherheitsrisiken mit sich bringt. Deshalb zeigen wir Ihnen, wie Sie vorgehen sollten, um dem Webserver die notwendigen Schreibrechte für den uploads-Ordner einzuräumen.

Nachdem Sie den uploads-Ordner angelegt haben rufen Sie im FTP-Client dessen Eigenschaften auf, die beispielsweise so aussehen:

drwxr-xr-x 5 ftpuser ftpuser 4096
Apr 29 2009 uploads

Das d ganz links zeigt, dass es sich hier um ein Verzeichnis (directory) handelt. Die beiden ftpuser verraten, dass das Verzeichnis dem Benutzer ftpuser und der gleichnamigen Benutzergruppe gehört. Aus den auf das d folgenden Zeichen rwx geht hervor, dass der Benutzer ftpuser lesen darf, welche Dateien in dem Ordner stecken (r steht für read), dass er Dateien hineinschreiben (w für write) und in den Ordner wechseln (x) darf.

Das mittlere Dreierpäckchen (r-x) zeigt die Rechte der übrigen Nutzer aus der Gruppe ftpuser. Ihnen fehlt das Schreibrecht genauso wie der dritten Gruppe, den sonstigen am System angemeldeten Benutzern. Welche Benutzer es auf dem Server gibt und welchen Gruppen sie angehören, steht in der Serverkonfiguration (/etc/passwd und /etc/groups), die nur Betreibern eines Root-Servers zugänglich ist.

Wem ein SSH-Zugang zum Server fehlt, der tastet sich per FTP. Setzen Sie über den Eigenschaften-Dialog zusätzlich die Schreibrechte für die Gruppe des Eigentümers (rwxrwxr-x). Schlagen Uploads über das PHP-Skript danach noch fehl, so setzen Sie auch das Schreibrecht für die sonstigen Benutzer (rwxrwxrwx).

Ihr FTP-Client zeigt Benutzerrechte in Zahlenform an? Beachten Sie die Infos zur sogenannten Oktalnotation hier.

Wesentlich komfortabler ist da schon die Lösung per SSH.

Nach dem Login wechseln Sie in das Verzeichnis, das den Ordner uploads enthält. Mit ls-l | grep uploads bringen Sie dessen Eigenschaften auf den Monitor.ps aux | grep-i apache zeigt den Webserver-Prozess an:

www-data 8141 /usr/sbin/apache2
-k start

Der Webserver läuft demnach unter dem Benutzerkonto www-data. Mit chown www-datauploads macht man www-data zum Eigentümer von uploads, wie ls-l bestätigt:

drwxr-xr-x 5 www-data ftpuser 4096
Apr 29 2009 uploads

Der Webserver als neuer Eigentümer des Ordners darf jetzt hineinschreiben, der Benutzer ftpuser aber nicht mehr. Geben Sie einfach der Gruppe ftpuser mit chmod g+w Schreibrechte, um das zu korrigieren.

Mehr lesen

Chronologische Liste und Netflix-Links

Marvel-Filme- und -Serien: Das ist die richtige Reihenfolge

Neuerscheinungen in der Übersicht

Netflix: Neue Filme und Serien

Vorschau auf Film- und Serien-Highlights

Amazon Prime Video: Neuheiten

Weiter zur Startseite  

Mehr zum Thema

internet, webdesign, adobe,  Illustrator, CS6

Webdesign

Webdesign in Adobe Illustrator CS6

Adobe Illustrator wird im Webdesign immer beliebter. Wie Sie das Tool richtig einsetzen, erfahren Sie hier.

Facebook stellte die neue Suche

Facebook

Facebooks Social Graph Search

Was sind die Implikationen für Unternehmen und Endanwender bei Facebooks neuer Suche Graph Search?

Der BGH erklärt das Internet zur Lebensgrundlage.

Online-Recht

Darauf müssen Sie bei den AGB achten

Allgemeine Geschäftsbedingungen liest sich niemand gerne durch. Sie sind jedoch notwendig und äußerst sinnvoll. Worauf sie achten sollten.

Online-Urheberrecht: Unser Ratgeber bietet Tipps für das Cloud-Recht.

Online-Recht in der Cloud

Wie sieht das Urheberrecht in der Wolke aus?

Dateien werden immer häufiger in der Cloud bereitgestellt. Rechtlich ist das jedoch durchaus problematisch. Wir klären über das Urheberrecht in der…

Logistik im E-Commerce: Prozesse rund um die Logistik.

E-Commerce-Logistik

Logistik im E-Commerce

Für den Erfolg eines Online-Shops sind zahlreiche Faktoren verantwortlich. Neben Produktvielfalt und Darstellung der Waren gehört auch die Logistik.