Comega 7 Bt

Informatika, egyszerűen? Nos, a mi számunkra mindenképpen. A Te számodra inkább láthatatlanul. Mert a jó informatikai rendszer teszi a dolgát. Végrehajtja, amit a felhasználók szeretnének, nem pedig feladatot ad. Vágyálom? Nem feltétlenül. Mi segíthetünk abban, hogy nálad mindez valóra váljon.

Dolgozhatunk együtt?

info@comega7.hu

Levélszemét terjesztés - PHP mail() módra

  • Bolemányi Attila

Adott egy több tucat weboldal megjelenését biztosító Debian GNU/Linux szerver, a szokásos felépítéssel: Apache, MySQL, PHP.  Hogyan győződhetünk meg arról, hogy a PHP mail függvényén keresztül egyik weboldal sem küldi ki százával, esetleg ezrével a kéretlen reklámleveleket? Ha ez történik, a naplófájlokból - mint pédául a /var/log/mail.log - csak annyi látszik, hogy mennek kifelé a levelek, a feladójuk az a felhasználó, akinek a nevében az Apache webszerver fut - www-data -, viszont semmi sem utal arra az alkalmazásra, amely a leveleket generálja. Vajon melyik weboldal kódjában található az igazi tettes?

A megoldás a PHP 5.3 megjelenésével nagyon egyszerűvé vált. A /etc/php5/apache2/php.ini, illetve a /etc/php5/cli/php.ini fájlban helyezzünk el két sort a [mail function] blokkban, a sendmail_path alatt:

[mail function]
sendmail_path = /usr/sbin/sendmail -t -i
mail.add_x_header = On
mail.log = /var/log/phpmail/phpmail.log

Hozzuk létre a /var/log/phpmail könyvtárat, abban pedig a phpmail.log fájlt. A tulajdonos legyen az Apache webszervert futtató felhasználó, és kapjon írási jogot a fájlra. Indítsuk újra a webszervert. Ezután minden egyes, a PHP mail() függvényének segítségével történő levélküldéskor egy új sor kerül a fájlba, a levelet küldő szkript merevlemezen található elérési útvonalával együtt. A többi már csak fantázia kérdése. :-)

Címkék : Apache , Debian , Linux , PHP