php függvények tiltása

Fórumok

php függvények tiltása

Hozzászólások

Sziasztok,

Hogy lehetne megoldani, hogy bizonyos apache virtualhost -ok alatt ne lehessen futtatni phps mysql függvényeket? Vagy jobban érdekelne az a globális megoldás, hogy hogy lehet bizonyos függvényeket tiltani, úgy hogy a többi függvény elérhető legyen?

Laci

a te barátod a php safemodeja és hogy nem adsz sql usert a virtualhostok felhasználóinak.
megoldás lehet a hosztonként fordított php (csak cgi mód) is.

ha hosztingal foglalkozol, és ezt is akarod szabályozni, hát az szép halál:
valamelyik nagy hosztos oldalon olvastam, hogy ők saját részre átírták a phpt és így teljesen testre tudják szabni az ügyfeleknek a szolgáltatásokat. lehet, hogy hasonló célokra neked is ezt kellene tennet :)

[quote:120a37b4ce="mrbond"]ha hosztingal foglalkozol, és ezt is akarod szabályozni, hát az szép halál:
valamelyik nagy hosztos oldalon olvastam, hogy ők saját részre átírták a phpt és így teljesen testre tudják szabni az ügyfeleknek a szolgáltatásokat. lehet, hogy hasonló célokra neked is ezt kellene tennet :)

akkor már éppen nem, mert a gpl miatt elkérheti a forrását :wink:

[quote:8cbdf1c846="lacika"]Sziasztok,

Hogy lehetne megoldani, hogy bizonyos apache virtualhost -ok alatt ne lehessen futtatni phps mysql függvényeket? Vagy jobban érdekelne az a globális megoldás, hogy hogy lehet bizonyos függvényeket tiltani, úgy hogy a többi függvény elérhető legyen?

Laci

php.ini-ben nem toltod be nekik a mysql.so-t?

[quote:4269ed9743="borso"]
php.ini-ben nem toltod be nekik a mysql.so-t?

Ez eddig OK lenne, de ezt hogy adom meg az apache virtualhost konfigjánál?
Vagy csináljam azt, hogy a php.ini -ben nem töltöm be és azoknál a virtualhost -nál ahol engedélyezni szeretném, ott megadmon, php_admin_flag -gel, vagy mivel?

[quote:21fee1170b="vmiklos"][quote:21fee1170b="mrbond"]ha hosztingal foglalkozol, és ezt is akarod szabályozni, hát az szép halál:
valamelyik nagy hosztos oldalon olvastam, hogy ők saját részre átírták a phpt és így teljesen testre tudják szabni az ügyfeleknek a szolgáltatásokat. lehet, hogy hasonló célokra neked is ezt kellene tennet :)

akkor már éppen nem, mert a gpl miatt elkérheti a forrását :wink:

ez így ebben a formában nem igaz...
ha nem terjeszti a szoftvert, akkor nem köteles kiadni a gples forrást.
azonkívül ha jól tudom a php jogaival a zend rendelkezik. ők adhatnak rá jogokat. és ezesetben sem kell kiadni a forrást.

lásd pl a google. ő is sok módosított gples szoftot használ, mégsem adja ki a forrást. viszont cserébe a közösséget támogatja...

A legegyszerűbb módja, hogy globálisan nem, csak virtualhostonként állítod be ezt:
AddType application/x-httpd-php .php .php3 .php4

Nyilvanvaloan a kerdes nem a globalis php kikapcs/bekpacsrol szol HANEM a mysqles fuggvenyekrol...

http://hu.php.net/features.safe-mode eztet kell neked olvasgatni :)

És itt van eyg ilyen rész :

disable_functions string
This directive allows you to disable certain functions for security reasons. It takes on a comma-delimited list of function names. disable_functions is not affected by Safe Mode.

This directive must be set in php.ini For example, you cannot set this in httpd.conf.

És itt van eyg ilyen rész :

disable_functions string
This directive allows you to disable certain functions for security reasons. It takes on a comma-delimited list of function names. disable_functions is not affected by Safe Mode.

This directive must be set in php.ini For example, you cannot set this in httpd.conf.

Ezzel csap az a baj, ami benne is van. Hogy csak a php.ini -be lehet megadni. És a httpd.conf -ban nem. nekem pedig ez kellene :(

[quote:d59c76e6cd="lacika"][quote:d59c76e6cd="borso"]
php.ini-ben nem toltod be nekik a mysql.so-t?

Ez eddig OK lenne, de ezt hogy adom meg az apache virtualhost konfigjánál?
Vagy csináljam azt, hogy a php.ini -ben nem töltöm be és azoknál a virtualhost -nál ahol engedélyezni szeretném, ott megadmon, php_admin_flag -gel, vagy mivel?

Varazslat.

-- mod_env-vel PHPRC-t allitasz
-- vagy a diszkriminalt vhostoknak olyan interpretert adsz meg
ami egy wrapper es ugyanezt csinalja (PHPRC). mindenfele okok
miatt en ezt csinalom

(ne vezessen felre hogy ganyolasize van, az egesz web ilyen)

OTOH te alapvetoen azt szeretned elerni hogy bizonyos vhostok
ne ferjenek hozza a DBM-hez. Ezt a problemat meg lehetne
kozeliteni ugy is hogy a vhostot futtato unix user ne tudjon
kapcsolodni, amit unix domain socketek eseteben file rendszer
permissionok csesztetesevel, nem lokalis DBM-eknel netfilter
owner match (nem engedsz senkit OUTPUT -d mysqldb -p tcp --dport akarmi
hacsak --uid-owner puncsos-vhost)

No, en ilyeneket szoktam csinalni.

Az egész problémát nem értem. Ha a felhasználód nem ismer valós usernevet és jelszót a mysqlhez és így nincs számára elérhető adatbázis, akkor úgyse tudja használni a mysql-t. 8O

php_admin_value
php_admin_flag

t

[quote:887aa67350="begin"]Az egész problémát nem értem. Ha a felhasználód nem ismer valós usernevet és jelszót a mysqlhez és így nincs számára elérhető adatbázis, akkor úgyse tudja használni a mysql-t. 8O

It's another line of defense.
Mert mi van akkor ha lop egyet? Vagy elkeri a baratjatol akinek jogosan jarna?
etc.