Rechteproblem: Bild kann nach Upload nicht agezeigt werden

deb_ugger

Erfahrenes Mitglied
Hi!

Ich hab da ein Problem mit meinem Bild-Upload. Im Prinzip funktioniert ja alles tadellos. Ich hab ein Formular, mit dessen Hilfe ich jpg oder gif Dateien in einen Ordner am Server uploaden kann. Der Ordner hat die Rechte "755" (ich hab mich unter Google schlau gemacht, und da hab ich gelesen, dass das wohl die Besten Rechte für einen Upload wären). Mittels eines FTP-Programms (smartftp) kann ich auch nach dem Upload überprüfen, ob das Bild wirklich in den Ordner geuploadet wurde, und es ist auch da.

Das Problem ist aber: IE, Firefox, etc. können das Bild nicht anzeigen. Weil der "Zugriff verweigert" wird. Die Bilder haben also nach dem Upload falsche Rechte. Und zwar "600"er.

Was kann ich dagegen nur machen?

Danke für die Hilfe!
mfg,
debugger
 
Zuletzt bearbeitet:
Dies wird nicht die Lösung sein, denn ich habe das Problem ebenfalls und kann sagen dass die chmod-Funktion ebenfalls zurückgewiesen wird,
denn die hochgeladenen Bilder tragen die www-Engine des Hosters als Owner.
Sprich die hochgeladenen Bilder entziehen sich meiner Kontrolle, da ich nicht der Besitzer bin.

Sicher kein alltägliches Problem, aber wie gesagt: da funktioniert das mit chmod net.
 
Leider ist es ein sehr häufiges Problem, wenn auch wirklich nicht alltäglich.
In solchen Fällen ist die Systemkonfiguration nicht sehr sicher, da nicht zwischen Benutzern und deren Rechten unterschieden wird. In der Tat kann das Auslassen von Sicherheitsmechanismen, die einen Benutzer an seine eigenen Rechte binden, folgenschwere Sicherheitslücken zur Folge haben.

Nun, ich persönlich würde nicht lange bei so einem Hoster bleiben. :-)
 
Info_for_torty hat gesagt.:
[...]denn die hochgeladenen Bilder tragen die www-Engine des Hosters als Owner.
Sprich die hochgeladenen Bilder entziehen sich meiner Kontrolle, da ich nicht der Besitzer bin.[...]
Hast Du keine Benuteroberfläche (wie z. B. Confixx), da könntest Du Dich einloggen und die Rechte ändern, da Du auf dieser Oberfläche für alle Dinge, die Deine Domain betreffen, administrative Rechte haben solltest.

redlama :suspekt:
 
Ich habe diesbezüglich neue Erkenntnisse:
* mein Hoster gibt mir die Aussage "Das ist ein Fehler im PHP-Script. ... Wir haben viele Kunden die Dateien hochladen und die dieses Problem
...nicht haben. ... Unsere Server/Configs sind also völlig in Ordnung..."
* Confixx hab ich nicht
und die Rechte ändern, da Du auf dieser Oberfläche für alle Dinge, die Deine Domain betreffen, administrative Rechte haben solltest.
Naja, ich sollte dies aber genauso gut über das FTP-Programm tun können. Geht aber nicht, da ich bekanntermaßen nicht Besitzer dieser hochgeladenen Datei bin. :(

In solchen Fällen ist die Systemkonfiguration nicht sehr sicher, da nicht zwischen Benutzern und deren Rechten unterschieden wird
OK, aber wie mach ich das meinem Hoster klar. Schön wäre, wenn du ne kurze Erläuterung geben kannst, die ich dann meinem Hoster durchreichen werde, damit dieser es evtl. ändern kann. BIG THX.

Zu diesem Problem existiert aber auch bereits mein eigener Thread: http://www.tutorials.de/forum/showthread.php?p=923776#post923776
 
OK, aber wie mach ich das meinem Hoster klar. Schön wäre, wenn du ne kurze Erläuterung geben kannst, die ich dann meinem Hoster durchreichen werde, damit dieser es evtl. ändern kann. BIG THX.

Ganz einfach: Die virutellen Hosts verwenden einen eigenen User. Der FTP-Daemon verwendet diesen User und der 'Script-User' verwendet ihn auch. Für CGI gibt es suCGI und für PHP gibt es z. B. suPHP (und andere Methoden). FTP- und PHP-Uploads gehören so dem richtigen User und können auch nicht durch einen anderen User über ein Script im Verzeichnis eines anderen Users herumpfuschen.

Was daraus erwächst, siehe Linux Magazin 10/04 - da ist ein netter Artikel darüber drin.
 
Ok, die Frage ist dann wohl eher: Hab ich es so programmiert, dass es eigentlich nicht zu diesem Problem kommen dürfte?
(Code siehe vorheriger Link)

Thx
 
Info_for_torty hat gesagt.:
Ok, die Frage ist dann wohl eher: Hab ich es so programmiert, dass es eigentlich nicht zu diesem Problem kommen dürfte?
(Code siehe vorheriger Link)
Thx

Ich glaube nicht, denn Du kannst mit dem User PHP in der Regel KEINE Userrechte ändern (das kann nur der Admin und User/Gruppen, die vom Admin die Erlaubnis dazu haben), und das sollte - sofern man ein wenig sicherer lebe möchte - auch so sein :) .

Du hast es so Programmiert, das es zu diesem Problem kommen muss. Allerdings hast Du keine andere Möglichkeit, es sei denn Dein PHP-User hat die Rechte, Benutzerrechte modifizieren zu können (*grins - und das bezweifel ich stark*).

Es ist ein bischen billig, die Schuld auf den Kunden zu schieben ...

Aber betrachten wir es mal so: Wenn die hochgeladene Datei die Benutzerrechte hätte, könnte PHP sie nicht nicht mehr richtig bearbeiten (da die Datei dann nicht mehr dem www-user gehören würde).
 
Zurück