Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
# cat /usr/local/www/vhosts/dspam/.htaccess
AuthName dspam.test.ru
AuthType Basic
AuthUserFile /usr/local/etc/apache/passwd
<Limit GET POST>
require valid-user
</Limit>
<FilesMatch "(cgi|css|gif|html)$">
order deny,allow
allow from all
</FilesMatch>
order deny,allow
deny from all
Для еще большей безопасности вместо «allow from all» для соответствующих расширений можно задать ограниченный список разрешенных адресов.
Обучаем фильтр
Процесс обучения играет чрезвычайно важную роль для правильной работы фильтра. Чтобы dspam знал, какие письма являются спамом, требуется дать ему на обработку примеры подобных сообщений, а также образцы нормальных писем. Если у вас есть архив спамерских писем (допустим, вы сбрасываете такие сообщения в отдельную папку), то эти сообщения могут быть переданы для обучения, используя следующую команду:
# dspam_corpus --addspam sergei /var/db/dspam/data/gorod/gorod.mbox
command: '/usr/local/bin/dspam' --class=spam --source=corpus --user 'sergei' --mode=teft --feature=chained,noise
/usr/local/bin/dspam_corpus: 3 messages, 00:00:57 elapsed, 0.05 msgs./sec.
В данном примере я обучил фильтр для sergei на основе спама, собранного в карантине пользователя gorod. Обучение «хорошими» сообщениями выполняется аналогично, но без ключа -addspam. Для получения адекватных результатов при обучении необходимо соблюдать баланс между «хорошими» сообщениями и спамом, в идеале их количество должно быть (примерно) одинаково. Также по умолчанию dspam настраивается на постоянное обучение в процессе работы (режим TEFT). То есть им обрабатываются все входящие сообщения, и значения спамности для каждого встречающегося в них слова пересчитываются в БД. Это увеличивает нагрузку на систему, но позволяет быстро реагировать на изменение характера рассылок.
Если режим TEFT для вас не приемлем из-за слишком высокой нагрузки, можно использовать другие (параметр TrainingMode конфигурационного файла или ключ запуска):
n TOE: обучение выполняется только в том случае, если фильтр допускает ошибку.
n TUM: фильтр обучается на каждом сообщении, пока не будет достигнуто определенное число повторений токена, затем переходит в режим обучения по ошибке.
n NOTRAIN: обучение не проводится.
Возникает вопрос: а как фильтр узнает, что он ошибся? Конечно, об этом ему должен сообщить пользователь. Для обратной связи предусмотрено два механизма – с помощью CGI-сценариев и путем пересылки сообщений на специальный адрес.