The OpenNET Project / Index page

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

Использование версии DrWeb для рабочих станции на почтовом сервере. (virus mail filter php procmail)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: virus, mail, filter, php, procmail,  (найти похожие документы)
From: Шестаков Николай <advnik@plotinka.ru.plotinka.ru Newsgroups: email Date: Mon, 18 Nov 2004 14:31:37 +0000 (UTC) Subject: Использование версии DrWeb для рабочих станции на почтовом сервере. Для небольших компаний может оказаться целесообразно защитить свой почтовый сервер продуктами DrWeb, но не покупая серверной версии (требуется купить версию для рабочих станции). Это можно сделать с помощью приведенного ниже скрипта на php (кому не лень могут переписать его на любой другой язык) и procmail В procmailrc прописываем: :0Wf | /usr/bin/drwebfilter.php :0H * ^X-DrWeb-Virus-Status: Infected $HOME/Maildir/.Infected/ И сам скрипт (кладем в /usr/bin/drwebfilter.php): #!/usr/bin/php <?php $stdin = fopen("php://stdin", "r"); $stdout= fopen("php://stdout", "w"); $tmp_n = tempnam("/tmp", "ForDrWeb"); $tmp = fopen($tmp_n, "wx"); while(!feof($stdin)) { $s = fgets($stdin); fwrite($tmp, $s); } fclose($tmp); exec("/opt/drweb/drweb -path=$tmp_n | grep infected", $out); $tmp = fopen($tmp_n, "r"); $q = 0; while(!feof($tmp)) { $s = fgets($tmp); if ($q==0&&($s=="\\r\\n"||$s=="\\n"||$s=="")) { foreach($out as $vir) { $vir = substr($vir, strlen($tmp_n) + 1); if ($q==0) { $head = "X-DrWeb-Virus-Status: Infected\\r\\n"; fwrite($stdout, $head); } $head = "X-DrWeb-Virus: $vir\\r\\n"; fwrite($stdout, $head); $q++; } if ($q==0) { $head = "X-DrWeb-Virus-Status: Clean\\r\\n"; fwrite($stdout, $head); $q++; } } fwrite($stdout, $s); } fclose($tmp); unlink($tmp_n); ?>

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, X (?), 12:57, 23/11/2004 [ответить]  
  • +/
    Двоиные обратные слэши надо заменить одинарными :)
    Скорость проверки падает существенно по сравнению с drwebd, но для небольших компании где сообщении несколько тысяч в день на более менее современном оборудовании потянет.
    Обычно такое пишут на perl.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




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

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