Hi zusammen, wir betreiben hier einen Firmen Web Server und sollen auch PHP5 ermoeglichen. Hinzufuegen sollte ich noch, dass ich mich mit PHP nicht auskenne. Nun habe ich gehoert, dass sich die PHP Files auf der gleichen Directory befinden wie auch die HTML Files (beispielsweise unter /home/$USER/public_html) Nachdem aber PHP die gleichen Moeglichkeiten wie CGI bieten, waere das nicht akzeptabel, da auch nicht jeder User eine CGI Directory hat. Kann man PHP5 auch so einschraenken, dass es in unserer Entscheidung ist welcher User es verwenden kann ? Unter welchem Stichwort kann ich das wo nachlesen ? Oder habe ich da was falsch verstanden ? danke und Gruss Werner -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Werner Franke wrote:
Hi zusammen,
wir betreiben hier einen Firmen Web Server und sollen auch PHP5 ermoeglichen. Hinzufuegen sollte ich noch, dass ich mich mit PHP nicht auskenne. Nun habe ich gehoert, dass sich die PHP Files auf der gleichen Directory befinden wie auch die HTML Files (beispielsweise unter /home/$USER/public_html)
Nachdem aber PHP die gleichen Moeglichkeiten wie CGI bieten, waere das nicht akzeptabel, da auch nicht jeder User eine CGI Directory hat.
Kann man PHP5 auch so einschraenken, dass es in unserer Entscheidung ist welcher User es verwenden kann ?
Unter welchem Stichwort kann ich das wo nachlesen ?
Oder habe ich da was falsch verstanden ?
danke und Gruss Werner
Hi, Du kannst Deine php's wohin auch immer legen. Also auch in ein paswortgeschütztes Directory oder so. Und Du kannst natürlich über die Benutzerrechte einstellen, wer sie starten darf. Bei Linux-Apache also alles, wie auf Deinem lokalen System. Problem ist nur, daß jeder Nutzer Deiner Website quasi "other" ist, d.h. wenn die php's von Webnutzern aufgerufen werden können, dann also i.allg. von allen. Einfachste Lösung ist demnach ein geschütztes Verzeichnis. Der Nutzer kriegt allerdings den Inhalt der php's nie zu sehen, sondern nur, was die an html ausgeben... wenn sie also readonly für ihn sind, kann er sie auch mittels irgendwelcher Tricks nicht ändern, falls das die Befürchtung sein sollte. gruß jörg -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Joerg, On Monday 01 December 2008 Joerg Thuemmler wrote:
Werner Franke wrote:
Hi zusammen,
[...]
Kann man PHP5 auch so einschraenken, dass es in unserer Entscheidung ist welcher User es verwenden kann ?
Unter welchem Stichwort kann ich das wo nachlesen ?
Oder habe ich da was falsch verstanden ?
danke und Gruss Werner
Hi,
Du kannst Deine php's wohin auch immer legen. Also auch in ein paswortgeschütztes Directory oder so. Und Du kannst natürlich über die Benutzerrechte einstellen, wer sie starten darf. Bei Linux-Apache also alles, wie auf Deinem lokalen System. Problem ist nur, daß jeder Nutzer Deiner Website quasi "other" ist, d.h. wenn die php's von Webnutzern aufgerufen werden können, dann also i.allg. von allen.
Einfachste Lösung ist demnach ein geschütztes Verzeichnis. Der Nutzer kriegt allerdings den Inhalt der php's nie zu sehen, sondern nur, was die an html ausgeben... wenn sie also readonly für ihn sind, kann er sie auch mittels irgendwelcher Tricks nicht ändern, falls das die Befürchtung sein sollte.
Sorry, da habe ich mich wohl missverstaendlich ausgedrueckt. Ich will verhindern dass irgendein User PHP ueberhaupt verwenden kann. Das sollen nur ausgewaehlte User duerfen. Also ein /home/$USER/public_html/index.php in der Form: <html> <body> <?php echo "Hello World"; ?> </body> </html> soll NICHT fuer jedermann funktionieren. So wie ich es auch verhindern kann das irgendein User ein CGI Script benutzen kann, indem ich ihm keine CGI Directory gebe, die dem Web Server bekannt ist. Wie kann ich so was fuer PHP realisieren ? Kann ich das ueberhaupt ? Gruss Werner -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Werner, Werner Franke schrieb:
Sorry, da habe ich mich wohl missverstaendlich ausgedrueckt. Ich will verhindern dass irgendein User PHP ueberhaupt verwenden kann. Das sollen nur ausgewaehlte User duerfen.
Also ein /home/$USER/public_html/index.php in der Form:
<html> <body> <?php echo "Hello World"; ?> </body> </html>
soll NICHT fuer jedermann funktionieren.
So wie ich es auch verhindern kann das irgendein User ein CGI Script benutzen kann, indem ich ihm keine CGI Directory gebe, die dem Web Server bekannt ist.
Wie kann ich so was fuer PHP realisieren ? Kann ich das ueberhaupt ?
Du kannst z. B. in dem Verzeichnis eine .htaccess Datei legen mit dem Inhalt php_flag engine off bzw. on. Oder Du schaltest in der httpd.conf mittels php_admin_value engine off PHP per Default ab und dann mit z. B. htaccess oder Directory Einträgen wieder an. Frank -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Frank, On Monday 01 December 2008 Frank Palvölgyi wrote:
Hallo Werner,
Werner Franke schrieb:
Sorry, da habe ich mich wohl missverstaendlich ausgedrueckt. Ich will verhindern dass irgendein User PHP ueberhaupt verwenden kann. Das sollen nur ausgewaehlte User duerfen.
Also ein /home/$USER/public_html/index.php in der Form:
<html> <body> <?php echo "Hello World"; ?> </body> </html>
soll NICHT fuer jedermann funktionieren.
[...]
php_flag engine off bzw. on.
Oder Du schaltest in der httpd.conf mittels
php_admin_value engine off
PHP per Default ab und dann mit z. B. htaccess oder Directory Einträgen wieder an.
Danke. "php_admin_value" war ein gutes Stichwort. In Google habe ich dazu einige Hinweise gefunden. Das hilft mir weiter, denke ich. http://archiv.debianhowto.de/de/webconfig/webconfig_apache.html Wahrscheinlich werde ich es wie CGI einrichten: "PHP nicht als Modul im Apache laufen zu lassen, sondern PHP als CGI-Binary aufzurufen" Gruss Werner -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Monday 01 December 2008 14.04:03, Werner Franke wrote:
Hi zusammen,
wir betreiben hier einen Firmen Web Server und sollen auch PHP5 ermoeglichen. Hinzufuegen sollte ich noch, dass ich mich mit PHP nicht auskenne. Nun habe ich gehoert, dass sich die PHP Files auf der gleichen Directory befinden wie auch die HTML Files (beispielsweise unter /home/$USER/public_html)
Nachdem aber PHP die gleichen Moeglichkeiten wie CGI bieten, waere das nicht akzeptabel, da auch nicht jeder User eine CGI Directory hat.
Kann man PHP5 auch so einschraenken, dass es in unserer Entscheidung ist welcher User es verwenden kann ?
Unter welchem Stichwort kann ich das wo nachlesen ?
Oder habe ich da was falsch verstanden ?
danke und Gruss Werner
php-Scripts werden vom Webserver ausgeführt, der läuft normalerweise als user wwwrun. Alle, die den Webserver erreichen (also z.B. html-Seiten aufrufen) können, können auch alle php-Scripts vom Webserver ausführen lassen. Falls ich deine Frage richtig verstanden habe: ich würde alle php-scripts ausschliesslich in /srv/www/htdocs/unterverzeichnissen ablegen und die php-Ausführung in /home/$USER/public_html verbieten bzw. nicht erlauben. So kann jede/r die von dir zur Verfügung gestellten Scripts ausführen, aber keine selbstgeschriebenen, weil er/sie keine Schreibberechtigung für htdocs hat - und was ins jeweils eigene Verzeichnis gelegt wird, wird nicht ausgeführt. Für die Verzeichnisse unterhalb /srv/www/htdocs/ in denen Scripts liegen, kannst du als root wwwrun als Eigentümer benennen und allen anderen sogar das Lesen verbieten. Damit du selbst weiterhin easy hineinschreiben kannst, machst du eine Gruppe, zu der nur du und wwwrun gehören und erlaubst dieser Gruppe auch das Lesen/Schreiben. Meinen - sehr beschränkten - Kenntnissen nach, sollte das "sicher" sein. Andere mögen mich ggf. korrigieren. Gruss Daniel -- Daniel Bauer photographer Basel Barcelona professional photography: http://www.daniel-bauer.com erotic art photos: http://www.bauer-nudes.com Madagascar special: http://www.fotograf-basel.ch/madagascar/ -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Daniel, On Monday 01 December 2008 Daniel Bauer wrote:
On Monday 01 December 2008 14.04:03, Werner Franke wrote:
Hi zusammen,
[...]
Kann man PHP5 auch so einschraenken, dass es in unserer Entscheidung ist welcher User es verwenden kann ?
[...]
php-Scripts werden vom Webserver ausgeführt, der läuft normalerweise als user wwwrun. Alle, die den Webserver erreichen (also z.B. html-Seiten aufrufen) können, können auch alle php-Scripts vom Webserver ausführen lassen.
Falls ich deine Frage richtig verstanden habe:
ich würde alle php-scripts ausschliesslich in /srv/www/htdocs/unterverzeichnissen ablegen und die php-Ausführung in /home/$USER/public_html verbieten bzw. nicht erlauben.
So kann jede/r die von dir zur Verfügung gestellten Scripts ausführen, aber keine selbstgeschriebenen, weil er/sie keine Schreibberechtigung für htdocs hat - und was ins jeweils eigene Verzeichnis gelegt wird, wird nicht ausgeführt.
Für die Verzeichnisse unterhalb /srv/www/htdocs/ in denen Scripts liegen, kannst du als root wwwrun als Eigentümer benennen und allen anderen sogar das Lesen verbieten. Damit du selbst weiterhin easy hineinschreiben kannst, machst du eine Gruppe, zu der nur du und wwwrun gehören und erlaubst dieser Gruppe auch das Lesen/Schreiben.
Meinen - sehr beschränkten - Kenntnissen nach, sollte das "sicher" sein. Andere mögen mich ggf. korrigieren.
Danke fuer Deinen Beitrag. So aehnlich werde ich es wahrscheinlich machen. Frank, lieferte das Stichwort "php_admin_value" und damit Google gefuettert, liefert einige Hinweise. So auch: http://archiv.debianhowto.de/de/webconfig/webconfig_apache.html Wahrscheinlich werde ich es wie CGI einrichten: "PHP nicht als Modul im Apache laufen zu lassen, sondern PHP als CGI-Binary aufzurufen" Gruss Werner -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (4)
-
Daniel Bauer
-
Frank Palvölgyi
-
Joerg Thuemmler
-
Werner Franke