Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
koretag
Зарегистрирован: 31.03.2011 Сообщения: 7
|
Добавлено: Чт Мар 31, 2011 1:40 am Заголовок сообщения: Допустимая длина поля регулярного выражения |
|
|
Использую черные правила на регулярных выражениях (в основном тупые - просто перечисление через "|"). С ужасом обнаружил, что одно из черных правил, основанное на поиске совпадения адреса в поле To, стало срабатывать непредсказуемо.
Длина поля - около 5000 знаков. Открыв и посмотрев условие обнаружил, что если поле превышает 4996 знаков - хвост условия молча отрезается. В моем случае от него осталось две буквы - то есть в спам падало непредсказуемо процентов 5 почты.
Сократил поле до 4900 - однако проблема не ушла.
Прогнал условие через предложенный на сайте regexpcheck. Обнаружил, что у него ограничение (тоже никак не документированное) 1999 знаков. Причем при большем поле запроса хвостик не отрезается, а просто не анализируется.
Может, и в antispamsniper'e также? И реально обрабатываемый запрос не 4995, а еще меньше? |
|
Вернуться к началу |
|
|
admin Автор
Зарегистрирован: 10.02.2006 Сообщения: 816
|
Добавлено: Чт Мар 31, 2011 2:25 pm Заголовок сообщения: Re: Допустимая длина поля регулярного выражения |
|
|
Да, есть такие ограничения. В будущих версиях добавятся проверки на превышение размера буфера.
Только крайне нежелательно использовать объемные регулярные выражения. Вы пытаетесь ключевые слова для теля писем чтоли таким образом проверять? Не стоит этого делать. С поиском и оценкой ключевых слов обучаемый классификатор справится намного лучше чем набор из вручную подобранных слов. |
|
Вернуться к началу |
|
|
koretag
Зарегистрирован: 31.03.2011 Сообщения: 7
|
Добавлено: Чт Мар 31, 2011 2:51 pm Заголовок сообщения: Re: Допустимая длина поля регулярного выражения |
|
|
admin писал(а): | Да, есть такие ограничения. В будущих версиях добавятся проверки на превышение размера буфера.
Только крайне нежелательно использовать объемные регулярные выражения. Вы пытаетесь ключевые слова для теля писем чтоли таким образом проверять? Не стоит этого делать. С поиском и оценкой ключевых слов обучаемый классификатор справится намного лучше чем набор из вручную подобранных слов. |
То, что они есть - я понял (установил экспериментально =))
Я не понял, какие они. То есть какой длины регулярное выражение можно использовать, чтобы гарантированно не иметь проблем?
Задача немного другая - у меня стоит catchall для нескольких доменов, соответственно, спам валится на сгенерированные спамерами названия ящиков. Генератор не особо разнообразен - то есть примерно 5 КБ выражения закрывает 95% спама для 3 доменов. Решение более аккуратное, чем полагаться на обучаемый классификатор. Опять же, могу скармливать фильтру довольно приличный объем свежего гарантированного спама =)
Antispamsniper'ом пользуюсь довольно давно, базу не сбрасывал больше полугода. За эти полгода результаты - 44900 удалено, 34500 - спам, 5100 - не спам, 92 - ложные срабатывания, 275 - пропущенный спам. Так что, на мой вззгляд, фильтры довольно удачно настроены. |
|
Вернуться к началу |
|
|
admin Автор
Зарегистрирован: 10.02.2006 Сообщения: 816
|
Добавлено: Чт Мар 31, 2011 3:05 pm Заголовок сообщения: Re: Допустимая длина поля регулярного выражения |
|
|
koretag писал(а): |
То, что они есть - я понял (установил экспериментально =))
Я не понял, какие они.
|
В плагине - 5000 символов.
koretag писал(а): |
То есть какой длины регулярное выражение можно использовать, чтобы гарантированно не иметь проблем?
|
Можно к примеру разбивать условия по килобайту, и делать несколько правил. Или в одном правиле можно добавлять несколько таких условий, только с флагом Сильное, чтобы правило срабатывало на любом из условий. |
|
Вернуться к началу |
|
|
koretag
Зарегистрирован: 31.03.2011 Сообщения: 7
|
Добавлено: Чт Мар 31, 2011 3:37 pm Заголовок сообщения: Re: Допустимая длина поля регулярного выражения |
|
|
ОК, разобью на сильные до килобайта длиной. Но в следующих версиях поставьте, пожалуйста, защиту от дурака - чтобы не было возможности поставить условие длиннее допустимого.
И, кстати, по-моему все-таки ограничение ниже 5 КБ - потому что непредсказуемые срабатывания продолжались и после сокращения до 4900. |
|
Вернуться к началу |
|
|
|
|
Ты не можешь начинать темы Ты не можешь отвечать на сообщения Ты не можешь редактировать свои сообщения Ты не можешь удалять свои сообщения Ты не можешь голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|