The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как узнать файл из которого был запущен срипт perl"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Perl)
Изначальное сообщение [ Отслеживать ]

"Как узнать файл из которого был запущен срипт perl"  +/
Сообщение от metacom (ok) on 18-Мрт-10, 20:51 
Пишу sendmail wrapper на perl, для php sendmail, подскажите как на perl определить имя и путь файла который инициировал данный скрипт.

т.е. в php.ini вместо стандартного sendmail, я помещаю мой sendmail.pl, соответственно когда php отправляет почту при помощи функции sendmail, запускается мой sendmail.pl вот в нем то мне надо опредилить имя php файла в котором сработала фунция sendmail. Я так понимаю что эта информация должна быть в массиве $env, подскажите в каком ключе.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как узнать файл из которого был запущен срипт perl"  +/
Сообщение от ACCA (ok) on 23-Мрт-10, 10:39 
>сработала фунция sendmail. Я так понимаю что эта информация должна быть
>в массиве $env, подскажите в каком ключе.

Нет, не должна, это тебе не HTTP referer. $PPID есть только в bash, лазить по /proc не поможет - в общем случае ты можешь оказаться и в мастдае и в BSD.

Проще всего - пропихни $_SERVER["SCRIPT_NAME"] параметром в командной строке.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Как узнать файл из которого был запущен срипт perl"  +/
Сообщение от metacom (ok) on 23-Мрт-10, 11:37 
>Проще всего - пропихни $_SERVER["SCRIPT_NAME"] параметром в командной строке.

Немогу я его через командную строку передать, у меня сервер LAMP, на нем крутятся порядка 20 сайтов, мне надо отследить рассылку спама, чтобы при превышении лимита, включалась блокировка отправки почты с уведомлением, - какой скрипт, в папке какого домена...

свой враппер я прописываю в httpd.conf через директиву:
php_admin_value sendmail_path '/usr/sbin/sendmail.pl -t -i'

Может есть еще варианты? ENV{PWD} получает, т.е. частично проблемма решается, но ENV{PWD} это только директория, вот бы еще сам скрипт отковырять.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Как узнать файл из которого был запущен срипт perl"  +/
Сообщение от ACCA (ok) on 25-Мрт-10, 07:30 
>>Проще всего - пропихни $_SERVER["SCRIPT_NAME"] параметром в командной строке.
>
>Немогу я его через командную строку передать, у меня сервер LAMP, на
>нем крутятся порядка 20 сайтов, мне надо отследить рассылку спама, чтобы
>при превышении лимита, включалась блокировка отправки почты с уведомлением, - какой

Сгенери персональные коды, раздай юзерам. Пусть предъявляют в каждом вызове mail через $additional_parameters. Твой скрипт проверяет код. Если код неизвестен - письмо не уходит.

Против PEAR::Mail или самодельного SMTP клиента в скрипте требуй SMTP авторизацию, а прямой выход на чужой 25 порт закрой firewall.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Как узнать файл из которого был запущен срипт perl"  +/
Сообщение от metacom (ok) on 25-Мрт-10, 09:32 
>Сгенери персональные коды, раздай юзерам. Пусть предъявляют в каждом вызове mail через
>$additional_parameters. Твой скрипт проверяет код. Если код неизвестен - письмо не
>уходит.

Это не решит вопрос по сабжу.
  
Нашел выход проще, оказывается в PHP 5.3.0 mail.log добавили, в него как раз всё что мне надо заносится. Остается тока распарсить его, а в случае превышения лимита блокировать отправку с нужного домена (домен я по ENW{PWD} определяю нормально).

>Против PEAR::Mail или самодельного SMTP клиента в скрипте требуй SMTP авторизацию, а
>прямой выход на чужой 25 порт закрой firewall.

А как же я 25 порт закрою? тогда sendmail работать не будет.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Как узнать файл из которого был запущен срипт perl"  +/
Сообщение от ACCA (ok) on 25-Мрт-10, 21:19 
>>Против PEAR::Mail или самодельного SMTP клиента в скрипте требуй SMTP авторизацию, а
>>прямой выход на чужой 25 порт закрой firewall.
>
>А как же я 25 порт закрою? тогда sendmail работать не будет.

man iptables

-m owner --cmd-owner ...

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру