Uploadskript: SAFE Mode und andere Dinge machen Probleme

Begonnen von k00ni, 02. März 2008, 22:25:47

Vorheriges Thema - Nächstes Thema

k00ni

Früher war alles besser. Da ging wenigstens noch alles. Dieser komische SAFE-MODE kommt mir hier dauern in die Quere.
Ich erstelle einen Ordner mittels
 

mkdir($to . $header[\'filename\']);

 
 
und will dann darin eine Datei erstellen, mittels
 

$fp = fopen($to . $header[\'filename\'], \'wb\');

 
 
Er spuckt aber nur herum. Ich hätte angeblich keine Rechte für das Anlegen in dem o.g. Ordner, obwohl ich ihn doch gerade angelegt habe. :ugly: Er bringt mir:
SAFE MODE Restriction in effect. The script whose uid is 666 is not allowed to access /srv/www/htdocs/XXX/html/testsystem/cms/cache/plugin_install/quatschmodul owned by uid 30 in /srv/www/htdocs/XXX/html/testsystem/cms/mod/friends/admin/install_plugin.php on line 74[/quote]
Wie kann sowas kommen? An den Pfaden kann es eigentlich nicht liegen, da die sauber vom Root-Verzeichnis kommen:
/srv/www/htdocs/XXX/phptmp/phpoz7rLW/srv/www/htdocs/XXX/html/testsystem/cms/cache/plugin_install/
[/quote]
Der Hintergrund ist, dass ich eine ZIP-Datei entpacken will. Nur ich komme noch nicht mal dazu, da er vorher schon die Luken dicht macht. :gaga:
 
Grüße

k00ni

Bisher habe ich hier nur das immer wiederkehrende Blabla gefunden.
Eine gute Aufschlüsselung zur SAFE-MODE-Problematik habe ich in diesem http://www.typo3forum.net/forum/79024-post36.html\" rel=\"external nofollow\">Post von diesem http://www.typo3forum.net/forum/typo3-4-x-fragen-probleme/24015-safe-mode-restriction-effect-4.html\" rel=\"external nofollow\">Thread gefunden.
Nur wie kann ich nun den Misstand beheben? Davon steht nirgends was. Wenn es um Besitzer geht, dann müsste es doch klappen. Ich erstelle per Skript das Verzeichnis. Gebe ihm 0777. (All das klappt). Nun will ich eine Datei darin öffnen. Diese existiert noch nicht, aber das fopen wird mit \"wb\" ausgeführt, dass bedeutet, dass er sie anlegen müsste, falls sie nicht existiert. Und hier muss irgendwo dass Problem liegen.
Gerade lese ich in einem http://de.php.net/manual/de/function.fopen.php#32850\" rel=\"external nofollow\">php.net-Kommentar folgendes:
If you have problems with safe mode creating errors
\"Warning: SAFE MODE Restriction in effect. The script whose uid is..\"
because one of your PHP scripts created the PHP file you are now trying to run, then you can use fopen() to create these files which will then be owned by you (not the server admin).
It must be done using the ftp method...
>> fopen(\'ftp://user:pass@domain.com\', \'w+b\');
But please remember that this only creates files, I haven\'t found a way around setting the correct UID on folders (yet)
[/quote]
Nur ich möchte nicht mit FTP-Rechten anfangen.
 

$handle = fopen (\"ftp://user:password@example.com/somefile.txt\", \"w\");

 
 
Das wäre ja etwas übertrieben oder? Oder ist das der einzigste Weg, dieses Problem zu lösen?


k00ni


Safe Mode off. Safe Mode ist Schlangenöl.

 
 
Hmm. Und was mach ich, wenn das nicht möglich ist? Gibt es denn eine Möglichkeit auf einem anderen Wege die oben genannte Funktionalität zu implementieren? Was ich bisher gefunden habe war das nutzen von FTP, über fopen etc. . Dies soll dann mit dem SAFE-MODE klarkommen. Nur mag ich dies nicht so recht, da der User dann in einigen Fällen einen weiteren User anlegen muss, da ja der Datenbank-User nicht immer gleich dem FTP-User ist.
Hättest du noch eine Idee?

Hmm. Und was mach ich, wenn das nicht möglich ist?[/quote]
Den HSP wechseln.
Gibt es denn eine Möglichkeit auf einem anderen Wege die oben genannte Funktionalität zu implementieren?[/quote]
Nein.
Oder ist das der einzigste Weg, dieses Problem zu lösen?[/quote]
Einzig ist bereits der Hyperlativ. Einzigste gibt es nicht.
Übrigens: Dein  Code da oben versucht, ein Verzeichnis mit fopen zu öffnen - das funktioniert natürlich nicht.

all your base are belong to us / Discord