Fórumok
Sziasztok!
Felbuzdulva a PHP-s szemetek hostolása topik remek hozzászólásain, kíváncsi lennék, hogy kinek milyen ötletei vannak az alábbi probléma megoldására.
Jó lenne, ha a Postfix levelezőszerver csak egy előre meghatározott listában szereplő PHP fájloknak engedne meg mail küldést, a többieknek meg egy nagy semmit. Esetleg a listában szereplőknek is csak napi limittel.
Nos?
:-)
Hozzászólások
Kezdetnek nem rossz, de nem is elég. Az alapkérdés változatlan maradt.
> előre meghatározott listában szereplő PHP fájloknak engedne meg mail küldést
Hogy jön be a levél? /usr/sbin/sendmail által, vagy SMTP-vel? Előbbi esetben csinálsz egy wrappert, ami megnézi, hogy ki hívta meg. Második esetben a legértelmesebb megoldás az SMTP Auth megkövetelése (akinek a PHP, vagy egyéb kódja nem tud SMTP authentikálni, az húzzon el erre: ↓) aztán az authentikált júzert úgy korlátozod policyd-vel, ahogy akarod.
Ahonnan jön(ne): az a localhost (/usr/sbin/sendmail). Csak hogy megelőzzünk mindenféle levélküldő zsiványságot, arra az esetre, ha az okos ügyfél gépére kerülő trójai ellopná mondjuk az FTP accot, és telenyomná a tárhelyét levélküldő PHP fájlokkal. Sajnos mindig van rá eset. :-(
Az a wrapper érdeklene ám :-)
Tiltsd le. Hasznaljon smtp auth-ot. Eppen most kellene kigyujtenem a gyakoribb CMS-ekhez a modjat.
--
http://www.micros~1
Ez persze működne, de mi a helyzet azokkal az oldalakkal, amelyek nem CMS alapúak? Vagy azokkal, amelyek ugyan CMS alapúak, de az ügyfelet nem fogod rávenni a frissítésre? Jobb lenne transzparens módon, úgy, hogy az oldalak kódjához nem kellene hozzányúlni. Kell egy lista (fájlban vagy adatbázisban), amely tartalmazza azoknak a PHP fájloknak az elérési útvonalát és MD5 ellenőrző összegét, amelyeknek engedélyezett a levélküldés.
Valószínűleg egy remekbe szabott sendmail wrapper kellene, de fél napja keresek hasonlót és semmi. Lehet, hogy össze kellene rakni...
:-)
Elosztod az ugyfelekt:
a szerver: nincs levelkuldes (pl. statikus oldalak)
b1 szerver: sendmail nincs, csak smtp
b2 szerver: sendmail nincs, csak smtp
b3 szerver: sendmail nincs, csak smtp
Es ha nagyon jofiu vagy, akkor csinalsz egy c szervert, ahol lehet sendmailt hazsnalni, de kijelented, hoyg Te mosod kezeidet, ha ott barki zurt csinal.
Aztan lehet kulon is arazni. Mittomen, a szerver ara b/2 , legdragabb a c.
Kinos munka, de hosszutavon sztem bevalik. Nalunk bevalt :)
Update: vagy probalj meg hatni a lelkukre: "Ugye nem szeretne, ha az oldalat barmi baj erne mas felhasznalok felelotlen magatartasa miatt? Ezert sajna le kell tiltanunk a sendmailt, de a CMS-eihez itt talal SMTP plugint". Akinek meg nem CMS-e van es nem tudja megoldani, az mehet a resztli szerverre, ahol magas a veszelyfaktor, de hasznalhato a sendmail...Legtobben megertik.
Nincs jobb otletem, ha az ugyfel hulye, akkor egy hulye miatt ne szivjon 10 normalis, az az egy hulye huzzon el.
--
http://www.micros~1
Újabb remek téma, sub
sub
Továbbra is: http://hup.hu/node/122043#comment-1570653
Legalább fél éve gond nélkül működik. Táblázatban időnként ránézek ki hol tart, de figyelmeztető üzenet is megy, ha valaki elérte a kvótát.
Pl.
Ez a script hol érhető el? :)
A hsz alján lévő linkeken találsz wrapper példákat:
http://rackerbox.com/wiki/index.php/PHP_sendmail_wrapper
http://www.iezzi.ch/archives/217
A többi egy kis bash+sql.
Ja én pont a Tiédre gondoltam, mert annyira emlegetted hogy azt hittem publikálva volt. :)
A többi egyedi megvalósítás. Főleg ha nem php-cgi-t használsz, számodra hasztalan is az a megvalósítás, mert UID szerint szűr. Ha mod-php van, akkor pedig érdemesebb domainre. Ezért inkább az kiindulási alapot és az elvet mutattam meg.
Szia!
Ez egy igen jó megoldás, ha a kvótát akarod betartatni a normál userekkel.
Én viszont egy olyat keresnék - akár ötvözve a Tiéddel, mert az nagyon jóóó - amely az esetlegesen a "radar alatt" betelepülő PHP szkripteknek egyáltalán nem engedne meg semmilyen levélküldést, mert hogy nincsenek rajta az engedélyezett feladó listáján. Esetleg egy limit feletti próbálkozás esetén mailt is dobna, hogy felhívja a renitens PHP fájl ténykedésére a figyelmet.
Akkor a wrapperben neked a mappa és a fájl nevét kell SQL-ben tárolnod és küldés előtt lekérdezni. Mivel változóként átadja, kb már meg is oldva:)
Asszem megyek hegeszteni.
Köszönöm szépen!
:-)
-
Valahogy dupla lett.
(Off: UNIX haladóból át lehetne tenni Internet:... témakörbe)
subscribe