Uploadproblem mit PHP und Favicons

Johnnii360

Erfahrenes Mitglied
Schönen guten Abend/Tag, :)

1. Problem - Problem mit dem Upload via PHP

ich biete meinen Communitymitgliedern die Möglichkeit, ihre eigen gezeichneten Fanarts auf meiner Seite zu presentieren!
Um dies zu ermöglichen, habe ich ein PHP-Script geschrieben, dass beim hinzufügen eines Fanart, ein Verzeichnis mit dem Namen des Mitglieds anlegt.

Code:
mkdir("/home/www/web1/html/fanarts/$_SESSION[name]", 0777);
Dies funktioniert schonmal prima, doch leider bekommt dann das Verzeichnis nicht die Rechte 777 sondern 755!
Nach dem anlegen des Verzeichnisses, werden die Bilder in das Verzeichnis per PHP hochgeladen. Das Problem ist nur, dass das Verzeichnis plötzlich dem User "wwwrun" und der Gruppe "www" zugewiesen wird. Normalerweise müsste es der User "web1" und die Gruppe "ftponly" sein!

Ich habe natürlich dann versucht, dies mit diesen Befehlen rückgängig zu machen:

Code:
chown("/home/www/web1/html/fanarts/$_SESSION[name]","web1");
chgrp("/home/www/web1/html/fanarts/$_SESSION[name]","ftponly");
Dieses Unterfangen ist aber vergebens. Ist ja auch klar! Der Benutzer Web1 kann Rechte nicht ändern, solange dieser nicht der Root ist! :)

Kann man dies irgendiwe abstellen, sodass die Verzeichnisse dem richigen User und der richtigen Gruppe zugeteilt wird?

Falls erforderlich, hier mein Uploadscript:

Code:
if (!copy($pic, $path.$pic_name)){ 
	$uploadmsg = $uploadsuccessful;
}
else{ 
	$uploadmsg = $uploaderror; 
}

Kleine Info:

Auf meinem Root-Server laufen PHP 4.2.2 und Apache 1.3.16.

2. Problem - Favicons

Ich möchte gerne auch so ein schönes buntes Bildchen für die Favoriten zu meiner Homepage haben! :)
Es gibt Seiten, auf denen beschrieben wird, wie man dies in den Sourcecode der Homepage einbindet. Ich möchte dies aber nicht in den Source haben, sondern in der httpd.conf von Apache!

Könnte evtl. einer mein Retter in der Not sein? :)


Schonmal vielen Dank im Voraus! 8)
 
Zu 1)

Bei dir läuft PHP im Moment als mod_php, d.h. es wird vom Apache als Modul geladen. Da Apache der ausführende User ist, läuft PHP verständlicherweise auch mit dem Benutzer / Rechten des Apache, d.h. wwwrun.

Um Abhilfe zu schaffen, musst du PHP als CGI einbinden, evtl. mittels suPHP.
 
Original geschrieben von Arne Buchwald
Zu 1)

Bei dir läuft PHP im Moment als mod_php, d.h. es wird vom Apache als Modul geladen. Da Apache der ausführende User ist, läuft PHP verständlicherweise auch mit dem Benutzer / Rechten des Apache, d.h. wwwrun.

Um Abhilfe zu schaffen, musst du PHP als CGI einbinden, evtl. mittels suPHP.
Und wie mach ich das am Besten und leichtesten? :)
 

Neue Beiträge

Zurück