Portál AbcLinuxu, 12. května 2025 09:31

Dotaz: Izolacia virtualnych webov s PHP pod apache 2.2

13.12.2006 14:26 Robert Kupka | skóre: 15
Izolacia virtualnych webov s PHP pod apache 2.2
Přečteno: 28462×
Odpovědět | Admin
Situacia: mam na webservri na baze Apache 2.2 + PHP 5.1 mnozstvo virtualnych hostov
www.domena1.sk
www.domena2.sk
.
.
.
www.domenax.sk

Da sa nejakym efektivnym sposobom zabezpecit, aby PHP skript z www.domena1.sk sa nijako nemohol dostat do stromu suborov mimo svoj virtual host ? (t.j. bol chrootnuty vo svojom strome www.domena1.sk a nemohol sa dostat do stromu www.domena2.sk).

Kedze Safe_mode sa da zapnut/vypnut len globalne pre vsetky virtual hosty, mam ho v stave OFF, lebo niektore PHP weby s nim nefunguju.
SuExec nemam nasadeny.

Vdaka za kazdy tip.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.12.2006 16:50 Wombat | skóre: 4
Rozbalit Rozbalit vše Re: Izolacia virtualnych webov s PHP pod apache 2.2
Odpovědět | | Sbalit | Link | Blokovat | Admin
hledej open_basedir
13.12.2006 16:59 Robert Kupka | skóre: 15
Rozbalit Rozbalit vše Re: Izolacia virtualnych webov s PHP pod apache 2.2
Podla tohto http://uk.php.net/manual/en/ini.php#ini.list je "open_basedir" globalny parameter kategorie PHP_INI_SYSTEM. Ja ho potrebujem menit individualne pre kazdy virtualhost. Ako ?
13.12.2006 17:15 secido | skóre: 27
Rozbalit Rozbalit vše Re: Izolacia virtualnych webov s PHP pod apache 2.2
nechce sa hľadať?
13.12.2006 17:30 Robert Kupka | skóre: 15
Rozbalit Rozbalit vše Re: Izolacia virtualnych webov s PHP pod apache 2.2
To som samozrejme nasiel... ale manual PHP je v tomto dost mätúci.
Citujem:

php_admin_value name value
Sets the value of the specified directive. This can not be used in .htaccess files. Any directive type set with php_admin_value can not be overridden by .htaccess or virtualhost directives. To clear a previously set value use none as the value.

open_basedir je direktiva typu PHP_INI_SYSTEM, t.j. neda sa menit per-virtualhost v subore .htaccess ani vo virtualhoste.

Nasiel som ako priklad toto:

< VirtualHost 111.111.111.111:80 >
ServerName web1.domena.sk
DocumentRoot /home/www/web1.domena.sk/htdocs
< Directory "/home/www/web1.domena.sk/htdocs" >
AllowOverride All
< /Directory >
php_admin_value open_basedir "/home/www/web1.domena.sk/"
< /VirtualHost >

< VirtualHost 111.111.111.111:80 >
ServerName web2.domena.sk
DocumentRoot /home/www/web2.domena.sk/htdocs
< Directory "/home/www/web2.domena.sk/htdocs" >
AllowOverride All
< /Directory >
php_admin_value open_basedir "/home/www/web2.domena.sk/"
< /VirtualHost >

Odporuje to manualu PHP, lebo ide o virtualhost. Tak co teraz ?
13.12.2006 17:56 secido | skóre: 27
Rozbalit Rozbalit vše Re: Izolacia virtualnych webov s PHP pod apache 2.2
Podľa tohto:

In httpd.conf, open_basedir can be turned off (e.g. for some virtual hosts) the same way as any other configuration directive with "php_admin_value open_basedir none".

Tak pravdepodobne aj turned on predpokladám.

13.12.2006 18:04 Robert Kupka | skóre: 15
Rozbalit Rozbalit vše Re: Izolacia virtualnych webov s PHP pod apache 2.2
...predpokladam aj ja, hoci vami spominana citacia nespecifikuje, ci vypnutie open_basedir je globalne, alebo funguje na virtualhost baze.
13.12.2006 18:09 secido | skóre: 27
Rozbalit Rozbalit vše Re: Izolacia virtualnych webov s PHP pod apache 2.2
In httpd.conf, open_basedir can be turned off (e.g. for some virtual hosts) the same way as any other configuration directive with "php_admin_value open_basedir none".
13.12.2006 18:29 Robert Kupka | skóre: 15
Rozbalit Rozbalit vše Re: Izolacia virtualnych webov s PHP pod apache 2.2
Vyriešené.
do každého virtualhostu v httpd.conf treba dat toto:
php_admin_value open_basedir "/cesta.k.suborom/"

Dakujem vsetkym, specialne secidovi.
13.12.2006 18:34 secido | skóre: 27
Rozbalit Rozbalit vše Re: Izolacia virtualnych webov s PHP pod apache 2.2
Za málo.
13.12.2006 17:55 jurasek
Rozbalit Rozbalit vše Re: Izolacia virtualnych webov s PHP pod apache 2.2
Odpovědět | | Sbalit | Link | Blokovat | Admin
dobry den
pokud se jedna o oddeleni prav provadenych scriptu, a ti potazmo toho co pozadujete , da se pouzit suPHP http://www.suphp.org/Home.html
s pozdravem

jurasek
13.12.2006 18:00 Robert Kupka | skóre: 15
Rozbalit Rozbalit vše Re: Izolacia virtualnych webov s PHP pod apache 2.2
To je riesenie, ktore ma tiez napadlo, ale nevyhovuje mi. Potrebujem CHROOT pre dany web.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.