Probleme bei Verzeichniserstellung

Sprint

Erfahrenes Mitglied
Hallo,

nach mehrstündiger Sucherei und Probiererei geb ich es auf und hoffe hier auf Hilfe.
Bei einer Galerie kann der Admin die verschiedenen Galerien selbst anlegen, indem er ein Verzeichnis erstellt. In das werden dann die Bilder per Formular hochgeladen. Nach dem Hochladen werden die Bilder aber noch in ihrer Größe bearbeitet und Texte eingebettet. Ein Upload per FTP funktioniert deshalb nicht.
Zuerst hatte ich versucht, die Verzeichnisse auf diese Art zu erstellen:
PHP:
umask(0000);
mkdir("../galerie/$neugal", 0777);
umask(0022);
Das hat auch funktioniert, allerdings konnte anschließend trotz der Rechte 777 kein Bild erzeugt werden. Der Eigentümer lautet auf "apache / apache", während die über FTP angelegten auf "xyz / psacln" lauten.
Nachdem ich das Problem des öfteren gefunden hatte, stieß ich auf ftp_mkdir(). Ich hab es dann mit diesesm Script probiert, es ist aber immer bei der Verzeichniserstellung Schluß:
PHP:
$ftp_server = 111.111.111.111';
$ftp_user_name = 'username';
$ftp_user_pass = 'pass';
$dir = '/var/www/vhosts/domain.de/httpdocs/neu/galerie/'.$neugal;
$conn_id = ftp_connect($ftp_server) or die('Keine Verbindung zum Server');
ftp_login($conn_id, $ftp_user_name, $ftp_user_pass) or die('Kein Login möglich');
ftp_mkdir($conn_id, $dir) or die('Verzeichnis konnte nicht angelegt werden');
ftp_chmod($conn_id, 0777, $dir) or die('Rechte konnten nicht gesetzt werden');
ftp_close($conn_id);
Ich hab es auch mit dem Pfad erst ab der Domain probiert, hat aber alles nix gebracht. Ach ja, btw, safe_mode ist Off.
Hat da bitte jemand einen Tip für mich, wie ich das Verzeichnis so angelegt bekomme, daß hinterher die Bilder hochgeladen werden können und es bei Bedarf auch wieder gelöscht werden kann.

Danke schonmal im Voraus.
 
Hi,

Zuerst hatte ich versucht, die Verzeichnisse auf diese Art zu erstellen:
PHP:
umask(0000);
mkdir("../galerie/$neugal", 0777);
umask(0022);
Das hat auch funktioniert, allerdings konnte anschließend trotz der Rechte 777 kein Bild erzeugt werden.

Das sollte bei ausgeschaltetem Safemode aber funktionieren. Wie lautet denn die genaue Fehlermeldung?

LG
 
Hi,



Das sollte bei ausgeschaltetem Safemode aber funktionieren. Wie lautet denn die genaue Fehlermeldung?

LG

Tja, wer lesen kann ist klar im Vorteil. Hab mir jetzt die Log Datei nochmal vorgenommen und das hier entdeckt: "SAFE MODE Restriction in effect. " Dann auch die phpinfo nochmal genau gelesen und dann entdeckt, daß safe_mode bei local auf On ist, bei Master auf Off.
Soweit ist jetzt natürlich so einiges klarer, allerdings stellt sich mir die Frage, kann ich das so einfach umstellen oder ist es besser, die Einstellung auf On zu lassen und einen anderen Weg zu gehen.
 
Hi,

Soweit ist jetzt natürlich so einiges klarer, allerdings stellt sich mir die Frage, kann ich das so einfach umstellen oder ist es besser, die Einstellung auf On zu lassen und einen anderen Weg zu gehen.

Ob Du das einfach abstellen kannst, weiß ich nicht, das hängt von Deinem Anbieter ab. ;)
Ob Du's abstellen solltest, kann man so pauschal auch nicht beantworten. Das war ja eigentlich eine Sicherheitskrücke für Shared Server, die es in PHP6 schon nicht mehr gibt.

LG
 
Hi,



Ob Du das einfach abstellen kannst, weiß ich nicht, das hängt von Deinem Anbieter ab. ;)
Ob Du's abstellen solltest, kann man so pauschal auch nicht beantworten. Das war ja eigentlich eine Sicherheitskrücke für Shared Server, die es in PHP6 schon nicht mehr gibt.

LG
Das Abstellen ist nicht das Problem, bin ja mein eigener Anbieter. Nur sind da eben auch noch einige andere Seiten mit drauf. Ich hatte ja gehofft, das per htaccess regeln zu können, funktioniert aber leider nicht. Fällt dir zu der anderen Lösung nichts ein bzw. kannst du mir erklären, wie viel unsicherer der Server wird wenn ich den Safe Mode umstelle?
 
Hi,

Das Abstellen ist nicht das Problem, bin ja mein eigener Anbieter.

heißt, Du hast einen Rootserver?

Nur sind da eben auch noch einige andere Seiten mit drauf.

Und die sind auch von Dir programmiert? Wenn ja, bist Du Dir unsicher, was Deine eigenen Scripte angeht?

Fällt dir zu der anderen Lösung nichts ein bzw. kannst du mir erklären, wie viel unsicherer der Server wird wenn ich den Safe Mode umstelle?

Mach Dir klar, was der Safemode genau bewirkt und entscheide dann, ob Du das im Kontext Deines Servers brauchst. Außerdem ist dieses Feature weit entfernt vom heiligen Gral und wird auch in PHP6 nicht mehr vorhanden sein. Nur weil das eingeschaltet ist, ist Dein Server noch lange nicht sicher (der Name täuscht da).

Wenn Du tatsächlich einen Rootserver betreibst, solltest Du Dich noch ein wenig mehr in die Konfigurationsmöglichkeiten einlesen. So könntest Du z.B. pro Website das Basisverzeichnis (open_basedir) festlegen. Auch Funktionen, wie system() etc. kannst Du z.B. individuell sperren.

LG
 
So, hab mich mal etwas weiter in den safe_mode eingelesen und festgestellt, daß ich den für jede Seite separat setzen kann. Und jetzt funktioniert auch das Script so, wie es soll.
Die ganze Aufregung war also völlig für'n A... , aber wenigstens hab ich wieder was dabei gelernt. Danke nochmal für de Hilfe.
 
Zurück