Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP in VHost beschränken.
Hallo,
gibt es eine Möglichkeit, in bestimmten aber nicht allen apache-vhosts php funktionen zu beschränken? Also zum beispiel, dass die funktion exec(), passthru() etc nur in einem vhost zur verfügung stehen?
grüße
dennis
Ja. Über eine .htaccess oder in der Apache-Konfig kannst Du php-Systemvariablen setzen.
php_value include_path ".:/www/www.deinedomain.de/include/: ..."
z.B.
Es gehen aber nicht alle Direktiven, welche -> Doku.
Nein, die Direktive disable_functions kann nur global in der php.ini gesetzt werden, aber nicht pro VHost. Ob man das durch Zuweisen seperater php.ini für jeden vHost umgehen kann, weiß ich jetzt aber nicht genau.
was wo geht findet sich unter
http://www.php.net/manual/de/ini.php
ähm...was denn jetzt?
grüße
dennis
ahh...ok danke marce..
ähm...was denn jetzt?
kommt wie gesagt darauf an, was Du abändern willst - manche Dinge lassen sich über die Apache-Konfig abändern, manche nicht, manche nur in der Apache-Konfig selbst, manche auch über .htaccess...
Das konkrete Beispiel von system() erlauben oder verbieten (also disable.functions) z.B. geht nur über die php.ini.
Das konkrete Beispiel von system() erlauben oder verbieten (also disable.functions) z.B. geht nur über die php.ini.
das heisst also nur für alle vhosts?
damn.
trotzdem danke
Du kannst PHP über (Fast)CGI laufen lassen. Hier ist es möglich, für jeden vHost eine eigene php.ini zu erstellen.
Gibt es da eine genaue Beschreibung wie man das machen kann?
grüße
dennis
http://www.debianhowto.de/doku.php/de:howtos:sarge:apache2_php-fcgi
Vielen Dank..
schönen Abend noch und happy weihnachten...
grüße
dennis
Das geht mit disable_functions auch über einen vhost...
php_admin_value disable_functions "shell_exec, exec, ..."
Greeez Oli
Dann sollte die PHP Doku mal aktualisiert werden:
You can also disable individual functions. Note that the disable_functions directive can not be used outside of the php.ini file which means that you cannot disable functions on a per-virtualhost or per-directory basis in your httpd.conf file.
Quelle (http://de2.php.net/features.safe-mode)
disable_functions geht nur global für alle hosts oder server über php.ini, man kann keine disable_functions in der httpd konfigurieren und sind in der httpd.conf gesetzt wirkungslos, wichtige ist auch die benutzten Anwendungen wie Foren oder was läuft auch patchen...alleine diese gesetzten php-variablen sind keine Sicherheit zum zurücklehnen
vor allen versuchen open_basedir zu vermeiden
allow_fopen_url auf off setzen in php.ini
register_globals off
save_mode on
disable_functions= wenn sgeht eine ganze latte
normalerweise sollte jeder vhost auch ein eigenes /tmp besitzen und das verlinkt wegen sessionklau etc...also wenn du das richtig machen willst viel Spaß über die Feiertage
schöne Weihnachten
Hi!
vor allen versuchen open_basedir zu vermeiden
Wieso? Eher wirst du mit PHP 6 auf den SafeMode verzichten müssen, der ohnehin in Verbindung mit mod_php unbrauchbar ist und mit PHP-CGI dank SuExec unnötig.
Gruß
fuffy
register_globals gibts in der 6er nicht mehr
register_globals gibts in der 6er nicht mehr
Ich versteh jetzt den Zusammenhang mit open_basedir nicht.
Gruß
fuffy
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.