lociranje PHP scripte koja shalje mail

Kako naći koja scripta šalje mail na serveru? (PHP putem mail() f-je) Kratko googlanje mi nije dalo skoro nikakvo rešenje pa sam prionuo na posao i upakovao jednostavnu scriptu koja loguje sve pozive /usr/sbin/sendmail bez modifikovanja .php fajlova.

Preimenovati /usr/sbin/sendmail u /usr/sbin/sendmail- i na njegovo mesto podmetnuti scriptu:


#!/bin/bash

XPID=$$
(
echo " ========================================================== "
echo "PID: $XPID"
XPPID=$(ps -o ppid= -p $XPID)
XPPPID=$(ps -o ppid= -p $XPPID)
echo "PPID: $XPPID"
echo "PPPID: $XPPPID"
echo "PWD: $PWD"

lynx -width=2000 -dump http://127.0.0.1/server-status/ | grep " $XPPPID "

) >> /var/log/poslati-mailovi.txt

tee -a /var/log/poslati-mailovi.txt | /usr/sbin/sendmail- $@

U server-statusu apachea se dobije informacija o URLu scripte. A usput i sadrzaj poslatog maila se loguje 🙂

Nije neko previše inteligentno rešenje, ali vrlo brzo je rešilo problem.

This entry was posted in linux and tagged , , , , . Bookmark the permalink.

3 Responses to lociranje PHP scripte koja shalje mail

  1. Robert says:

    Od PHP verzije 5.3 postoji podesavanje u php.ini koje doda “X-PHP-Originating-Script” header u mail: http://www.php.net/manual/en/mail.configuration.php#ini.mail.add-x-header

    Ovako nesto bude: http://i.imgur.com/HvPMX.png

  2. zsteva says:

    Da, video sam to u headeru mailova, nisam dodushe znao ko upisuje, ali mi isto nije ulivalo poverenje 🙂 Pishe scripta, ne pishe URL niti path gde je scripta.

  3. ivanhoe says:

    Mnogo dobra ideja. Koliko se secam extended status mozes i iz konzole da dobijes sa httpd fullstatus, da se ne cimas sa lynx-om.

Leave a Reply

Your email address will not be published. Required fields are marked *