Jump to content
Sign in to follow this  
k00ni

Uploadskript: SAFE Mode und andere Dinge machen Probleme

Recommended Posts

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


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/



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

Share this post


Link to post
Share on other sites

Bisher habe ich hier nur das immer wiederkehrende Blabla gefunden.


Eine gute Aufschlüsselung zur SAFE-MODE-Problematik habe ich in diesem Post von diesem 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 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)



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?

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites
Guest
Hmm. Und was mach ich, wenn das nicht möglich ist?

Den HSP wechseln.


Gibt es denn eine Möglichkeit auf einem anderen Wege die oben genannte Funktionalität zu implementieren?

Nein.


Oder ist das der einzigste Weg, dieses Problem zu lösen?

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.

Share this post


Link to post
Share on other sites
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...