Fórumok
Lehetséges egy hostolt oldalon - ami használ php-t - a levélküldést valahogyan letiltani? értem ezalatt, hogy az a virtual host ne tudjon php-ból küldeni leveleket. nyilván nem lenne 100%-os bizonyos függvények tiltása, de azt sajnos csak a php.ini ben lehet ahogyan olvasom a php.net -en:
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
valakinek ötlete ezzel kapcsolatban?
Hozzászólások
- tiltanod kell a mail() fuggvenyt (disable_functions),
- a socket nyitast fsockopen(), socket_connect() es tarsai,
- a dl()-t (enable_dl = off),
- kulso program vegrehajtasat exec(), backtick operator es tarsai,
vagy
a php vagy ne tudjon irni filerendszerre, vagy ha tud azt noexec-el kell felcsatolni (man mount)
legjobb ha ezek mellett safe modban van a php, es az open_basedir is be van allitva
hirtelen ennyi modon tudnek emailt kuldeni
igen ám, de sajnos a függvéneket csak globálisan lehet tiltani a php.ini ből ahogy írtam is, ezzel viszont az összes php-s virthost elveszíti ezen függvényeit, én viszont csak bizonyos virthostokra szeretném ezt.
futtass rajuk egy masik apachet
2apache+2php? akkor már inkább 1apache+2php, valahogy az is megoldható, nem?
Szerintem nem.
Másik apache, másik user id alatt futtatva, és IP-tablesből ez a juzer ID blokkolva 25-ös portra?
Php-s korlátozásokat ki lehet játszani, emellett lehet, hogy ezzel egyéb funkcióktól is megfosztod őket.
ehhez kellene meg egy ip nem??
nem. Asszem iptables a processz user ID-je alapján is tud szűrni. (Ezér kell külön userre rakni a második apacsot.)
iptables asszem tud UID-t, ja.
--
Gentoo motto: It's worth spending eight hours trying to make something load 20ns faster.
mail()-nal
virthostba:
php_admin_value sendmail_path /bin/false
a tobbi fuggvenynel fordits olyan php-t amiben nincs benne vagy modulban van
ok, de ez még nem akadályozza meg, hogy direkt kapcsolatot nyisson egy SMTP szerverre....
elozo megnyilvanulasombol:
"- a socket nyitast fsockopen(), socket_connect() es tarsai,"
egyebkent en nem tiltanam az email kuldest, csak annyit kotnek ki hogy letezo email cim legyen a felado amit egy lokalis MTA-val ellenoriznek MTA-n kivul mas owner-el pedig valoban nem engednem ki --dport=25 fele
nem csinaltam meg ilyet es nem is tudom hogy mukodne php eseten:
javaslatom az auth smtp, igy ennek a usernek nem adnal hozza accot, a tobbiek meg nem mail-t hasznalnak hanem smtp-t.