Модераторы: feodorv

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Методики борьбы со СПАМом 
V
    Опции темы
neosapient
Дата 27.2.2007, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Здравствуйте.

Уверен, что пишу не в ту ветку форума (прошу модераторов подкоректировать мой выбор), но надеюсь, что нужные мне  светлые головы здесь найдутся  smile 

Пришло время начать делать бакалаворскую. Долго искал темы, те что выбирал Я, не могли осилить преподы (у них свой специфический круг знаний), те темы что предлагались мне, немог осилить я (уж очень специфичны, не интерестны и трудаемки по времени).

И вот свершилось! первая более менее интерестная тема - сделать спам фильтр для почтового клиента...

Вот только в моем представлении, это небольшая функция, которая просматривает текст письма и сверяет по базе, на наличие незаконных словосочетаний.

Еще краем уха слышал, что где то есть черные списки ПК рассылающих спам по сети, но вроде бы эти списки уже не справляются с объемами (задачами) и их решили закрыть.

Вопросы, пока теоретические:
1) Какие типы спама бывают?
2) Какие методики борьбы со СПАМом Вам известны? Думаю, штук 7-11 вполне хватит...
3) Чем опастны письма? Понятно, что это трафик, забитость каналов, а к письму может быть прикреплен архив с вирусами или троянец, но еще что?
4) Как ловят спамеров? Их вообще как-то ловят? Какие спицифические улики выводят на спамеров?
5) За что сажают у нас и за бугром? Какие статьи УК есть?
6) Есть ли исхоники антиспамовских программ в интернете?

Есть ли шанс написать приличную (всмысле на 5) баколаврскую работу по этой теме?

З.Ы.
Ну, думаю, если шанс есть, то не буду создавать новых веток, здесь собирем обширный материал рунета и будем обсуждать ключевые места кода.
PM MAIL   Вверх
ptr
Дата 28.2.2007, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Цитата(neosapient @  27.2.2007,  17:45 Найти цитируемый пост)
1) Какие типы спама бывают?

Смотря по каким критериям делить.

Цитата(neosapient @  27.2.2007,  17:45 Найти цитируемый пост)
2) Какие методики борьбы со СПАМом Вам известны?

Методики борьбы или определения спама?

Цитата(neosapient @  27.2.2007,  17:45 Найти цитируемый пост)
3) Чем опастны письма? Понятно, что это трафик, забитость каналов, а к письму может быть прикреплен архив с вирусами или троянец, но еще что?

Ну, наверно, почти всё ты и перечислил. Я бы ещё добавил мошенничества.

Цитата(neosapient @  27.2.2007,  17:45 Найти цитируемый пост)
4) Как ловят спамеров? Их вообще как-то ловят?

Как-то ловят smile .

Цитата(neosapient @  27.2.2007,  17:45 Найти цитируемый пост)
6) Есть ли исхоники антиспамовских программ в интернете?

Есть.

Ветка кстати  не та.

Цитата(neosapient @  27.2.2007,  17:45 Найти цитируемый пост)
Есть ли шанс написать приличную (всмысле на 5) баколаврскую работу по этой теме?

Думаю можно. Кстати ты будешь бакалавром smile .



--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 28.2.2007, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Ответ конечно веселый, но...

1) По каким критериям можно делить спам, какие виды спама принадлежат к определенному критерию?
2) Интерисуют методики борьбы, чтоб реализовать. Кстати, к фильтрации по ключевым словам нашел статьи по вычислению спамерского ПК antispam.ru


Цитата

Цитата

6) Есть ли исхоники антиспамовских программ в интернете?

Есть.

Дай ссылочку  smile  smile 
PM MAIL   Вверх
ptr
Дата 4.3.2007, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Цитата(neosapient @  28.2.2007,  21:47 Найти цитируемый пост)
Ответ конечно веселый, но...

Какие вопросы - такие и ответы.

Цитата(neosapient @  28.2.2007,  21:47 Найти цитируемый пост)
1) По каким критериям можно делить спам, какие виды спама принадлежат к определенному критерию?

Например:
1. По способам распространения: e-mail, sms и т.д.
2. По типу содержимого: реклама, разного рода мошенничества, вирусные рассылки, рассылки для блокирования или вывода из строя почтовой системы и т.д.

Цитата(neosapient @  28.2.2007,  21:47 Найти цитируемый пост)
2) Интерисуют методики борьбы, чтоб реализовать.

Основные методики - "цветные" списки, ну и широко распространённый Байес.

Цитата(neosapient @  28.2.2007,  21:47 Найти цитируемый пост)
Дай ссылочку

Ну например SpamAssasin. Правда я не уверен что он тебе поможет.

Это сообщение отредактировал(а) ptr - 4.3.2007, 16:09


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 5.3.2007, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



OK
Нашел ссылку www.spamtest.ru
PM MAIL   Вверх
neosapient
Дата 25.3.2007, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



В продолжении вопроса "Служба SMTP" родился новый:
Как я могу отослать себе письмо
Я указываю SMTP сервером localhost, но вот какое имя почтового ящика указать теряюсь.
Как то термины в справке мелкософта  с моими расходяться.

Вообщем так: надо настроить SMTP сервер на своей машине и отослать туда письмо из моей программы...
Помогите
PM MAIL   Вверх
drZmeu
Дата 26.3.2007, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 22.11.2006

Репутация: 1
Всего: 1



neosapient читай форум про smtp есть много чего... smile 
--------------------
[code=html]<table bgcolor='#0' width='69'><tr align='center' bgcolor='#0'><td><font size='6' face='cursive' color='#ffffff'><b>A</b></font></td></tr><tr align="center" bgcolor="#0">[/code]
PM MAIL   Вверх
neosapient
Дата 26.3.2007, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Цитата

neosapient читай форум про smtp есть много чего...   

Читал и даже пытался что то сделать:
SMTP клиент, транзакции не проходят, кстати всем помогавшим спасибо  smile 

Сейчас вопрос стоит так: надо настроить SMTP сервер на своей машине и отослать туда письмо из моей программы
PM MAIL   Вверх
ptr
Дата 27.3.2007, 05:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Цитата(neosapient @  25.3.2007,  20:17 Найти цитируемый пост)
Я указываю SMTP сервером localhost,

Подключаешься к туда, где у тебя стоит сервер. Если на локальной машине, то на localhost.

Цитата(neosapient @  25.3.2007,  20:17 Найти цитируемый пост)
но вот какое имя почтового ящика указать теряюсь.

Почтовые ящики надо создавать на сервере.

Да и кстати какой сервер?


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 27.3.2007, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Цитата

Подключаешься к туда, где у тебя стоит сервер. Если на локальной машине, то на localhost.

Этот логический вывод Я смог сделать САМ - значит несовсем безнадежен  smile 

Цитата

Да и кстати какой сервер? 

Сервер от M$ под WinXP SP2 Pro
Добывается здесь:
- ПУСК 
- Настройка
- Панель иправления
- Установка и удаление программ
- Вкладка "Установка компонентов Windows" - Выделяешь "Internet Information Services (IIS)"
- Нажимаешь на кнопку "Состав"
- Ставишь галачку напротив "Служба SMTP" (автоматически выделяться дополнительно необходимые компоненты).

Цитата

Почтовые ящики надо создавать на сервере.

В этом хуже, как их создавать не разобрался.
Когда слал, то ожидал сообщений об ошибках в папках для отчетов, но ничего не приходило.

Можешь посоветовать другой SMTP-сервер, чтоб поставить локально на своей машине, и имел интуитивно понятный интерфейс?


Это сообщение отредактировал(а) neosapient - 27.3.2007, 11:12
PM MAIL   Вверх
ptr
Дата 27.3.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Цитата(neosapient @  27.3.2007,  14:11 Найти цитируемый пост)
Можешь посоветовать другой SMTP-сервер, чтоб поставить локально на своей машине, и имел интуитивно понятный интерфейс?

Посмотри, например, hMailServer.


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 27.3.2007, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



что-то я хелпа не нашел, а закладок много.
Помоги создать почтовый ящик в этой програмке
PM MAIL   Вверх
Бонифаций
Дата 27.3.2007, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: нет
Всего: 40



Я думаю Вам интересно будет прочитать  работу Грэхема "A plan for spam" о применении обучаемых Баесовских фильтров против спама. На ее основе сейчас работает большинство коммерческих и опен-сорсных спам-фильтров

http://www.paulgraham.com/spam.html


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
neosapient
Дата 27.3.2007, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Спасибо, интерестно будет почитать
PM MAIL   Вверх
ptr
Дата 28.3.2007, 06:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Цитата(neosapient @  27.3.2007,  17:41 Найти цитируемый пост)
что-то я хелпа не нашел, а закладок много.

Выбирай любой smile .

Цитата(neosapient @  27.3.2007,  17:41 Найти цитируемый пост)
Помоги создать почтовый ящик в этой програмке

http://www.hmailserver.com/documentation/v...c_configuration

Кстати о книгах. Думаю эта книга будет тебе полезна.

Это сообщение отредактировал(а) ptr - 28.3.2007, 15:05


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 28.3.2007, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



PTR, ты как всегда выручаешь  smile 
За ссылки спасибо, обязательно завтра просмотрю (сегодня времени нет)
А беглый осмотр показал - книжка весьма интерестная

Это сообщение отредактировал(а) neosapient - 28.3.2007, 22:58
PM MAIL   Вверх
neosapient
Дата 4.4.2007, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Цитата

Цитата

Помоги создать почтовый ящик в этой програмке

http://www.hmailserver.com/documentation/v...c_configuration


Ящик вроде создался smile

Но вот через telnet к нему не подключиться
PM MAIL   Вверх
ptr
Дата 5.4.2007, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Цитата(neosapient @  5.4.2007,  01:21 Найти цитируемый пост)
Но вот через telnet к нему не подключиться 

И в чём проблема?


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 8.4.2007, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Цитата

И в чём проблема? 

Глобально проблема стоит так: для почтового ящика не задать пароль...

Подключался через telnet к своей машине - localhost
Работал по протоколу SMTP (там не требуется авторизации) и всё хорошо проходило.
Работал по протоколу ESMTP, и авторизацию пройти не удалось.

Сейчас пытаюсь написать класс для протокола POP3, но там также нужна авторизация

Значит так. 
На локальной машине localhost установлен hMailServer. 
На нем создан домен something.com
Далее создан почтовый ящик ken (задать пароль почтовому ящику неудается... :( smile  )

Вот собственно и весь диалог с  hMailServer...
Код

+OK POP3
User ken
+OK Send your password          <-- Причем такой ответ и для несуществующих ящиков
Pass ken
-ERR Invalid user name or password. Please use full email address as user name.
Quit
+OK POP3 server saying goodbye...


Это сообщение отредактировал(а) neosapient - 8.4.2007, 19:05
PM MAIL   Вверх
neosapient
Дата 8.4.2007, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Вот еще проблемка

Протокол POP3. Вызов LIST
Должно
Код

CLIENT: LIST
SERVER: +ОК 2 messages (320 octets)
SERVER: 1 120
SERVER: 2 200
SERVER: . ...


по факту отрабатывает
Код

SERVER: +ОК 2 messages (320 octets)


То есть функция recv(...) за один раз принимает только первую строку вплоть до "\n\r"

А при повторном вызове виснет. Типа сервер ничего в неё не шлет, а наоборот ждет что-то от меня, но ЧТО?

PM MAIL   Вверх
ptr
Дата 17.4.2007, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Цитата(neosapient @  8.4.2007,  21:43 Найти цитируемый пост)
<-- Причем такой ответ и для несуществующих ящиков

А как ты хотел? Чтобы ты ввёл имя ящика и тебе сразу сказали, что его нет. Это же мечта спаммера.

Тебе уже всё написали. Пользователь [email protected].
Цитата(neosapient @  8.4.2007,  21:43 Найти цитируемый пост)
-ERR Invalid user name or password. Please use full email address as user name.


Цитата(neosapient @  8.4.2007,  21:43 Найти цитируемый пост)
Глобально проблема стоит так: для почтового ящика не задать пароль...

Ну ты блин даешь smile .
В accounts->... есть поле Account password: <<ENCRYPTED>>.


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 17.4.2007, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Цитата(ptr @  17.4.2007,  13:23 Найти цитируемый пост)
Цитата(neosapient @  8.4.2007,  21:43 )
Цитата

Глобально проблема стоит так: для почтового ящика не задать пароль...

Ну ты блин даешь  .
В accounts->... есть поле Account password: <<ENCRYPTED>>. 

пароль ввожу, но он не фиксируется
PM MAIL   Вверх
ptr
Дата 17.4.2007, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Цитата(neosapient @  17.4.2007,  18:21 Найти цитируемый пост)
пароль ввожу, но он не фиксируется

В смысле не фиксируется? Ты "применить" нажимал?


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 28.4.2007, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Цитата

В смысле не фиксируется? Ты "применить" нажимал? 

нажимал

Ладно, основноё вопрос сейчас другой:
Цитата(neosapient @  8.4.2007,  21:43 Найти цитируемый пост)
Протокол POP3. Вызов LIST
...
То есть функция recv(...) за один раз принимает только первую строку вплоть до "\n\r"
А при повторном вызове виснет. Типа сервер ничего в неё не шлет, а наоборот ждет что-то от меня, но ЧТО?




PM MAIL   Вверх
ptr
Дата 29.4.2007, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Выкладывай код (там где приём данных и где виснет).


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 30.4.2007, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Цитата(ptr @  29.4.2007,  14:29 Найти цитируемый пост)
Выкладывай код (там где приём данных и где виснет). 

Там сам разобрался
Была одна грубая ошибка  - после логина  и после пароля ставил пробел и лишь затем "\r\n"
И другая вещь, после отправки LIST, надо отправить NOOP

Сейчас другая проблема, 
отправляю RETR, получаю размер письма
отправляю NOOP, получаю неполный заголовок письма
а как дальше получить оставшуюся часть письма?

В моей программе получение письма происходит в
файле TProtocolPOP3.cpp
методе GetMessage(...)
case 3: ...
if(i==3){
/*вот тут собственно и происходит поучение письма*/
}



Это сообщение отредактировал(а) neosapient - 30.4.2007, 18:24

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  TProtocolPOP3.rar 4,82 Kb
PM MAIL   Вверх
ptr
Дата 2.5.2007, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Какие ещё NOOP? Зачем?
Я уже устал говорить, что send/recv отправляет/принимает байт не больше, чем ему сказано.


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 2.5.2007, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



А ты попробуй в функции GetListID закомментировать 
send(nSMTPServerSocket, (LPSTR)"NOOP\r\n", strlen("NOOP\r\n"), 0);
будут проблемы - всех данных не получишь и подвиснишь.
PM MAIL   Вверх
ptr
Дата 3.5.2007, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Ну закоментировал я NOOP. Ну да всё повисает. Но это уже твоя ошибка. Ты где-то лишний recv вызываешь. Да и убери все sleep.


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 3.5.2007, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



recv не лишнее, так как 
сначала приходит +ОК 2 messages (320 octets), 
и только при повторном recv (на котором виснет) получает список
1 120
2 200
А вот если ставить NOOP перед вторым вызовом recv (на котором виснет), то все отлично получается.

А Sleep`ы нужны для мелких задержек, так как сервер не справляется со скоростью формирования ответов (или я быстро закрываюсь). При наличии Sleep`ов сервер успевает сформировать полный ответ для меня

Так что так...

Эти вещи нужны, я шишки на них набил - значит нужны
PM MAIL   Вверх
neosapient
Дата 4.5.2007, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



А... переписал в более цивильный вид - всё нормально работает, теперь буду искать ошибку в классах

Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  main.cpp 2,57 Kb
PM MAIL   Вверх
ptr
Дата 5.5.2007, 07:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Уже лучше. Я бы ещё добавил функцию чтения строки (до \r\n) и записи всей строки в сокет.

Это сообщение отредактировал(а) ptr - 5.5.2007, 07:58


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 6.5.2007, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Переписал класс (не полностью - местами)
Ну что в итоге - есть ошибки диагностируемые и не очень... :(

У меня есть метод 
char* TProtocolPOP3::iFindFirstInt(char* pzStr,int& iNum);
В первый параметр передается указатель на строку. Символы в строке перебераются, пока не получу ближайшее число. Через второй параметр это число возвращается. А сама функция возвращает указатель на первый символ после числа в исходной строке, либо ноль при неудаче.

Но проблема не в этом методе, а в операции new.
Есть метод, который помогает узнать список писем.
TProtocolPOP3::GetListID(int*& piMessageID, int*& piMessageSize, int& iNumMessage)
При первом запуске iFindFirstInt(...) из полученого с сервера сообщения узнаю, сколько писем в списке.
    // ищем кол-во писем
    ptr = iFindFirstInt(psBuf,iNumMessage);
Но далее, пытаюсь выделить память, а оператор new возвращает NULL
    // создаем возвращаемые переменные
    piMessageID = new int [iNumMessage];
    piMessageSize = new int [iNumMessage];
    if(piMessageID==NULL)return 0;
    if(piMessageSize==NULL)return 0;
Вопрос, почему в данной ситуации new не выделяет память? Как сделать так, чтоб память выделялась?

P.S. Такая фигня в VC7, в VC6 все  нормально работает

Это сообщение отредактировал(а) neosapient - 6.5.2007, 14:09

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  Demo_problem2.rar 6,78 Kb
PM MAIL   Вверх
ptr
Дата 14.5.2007, 05:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



А что регулярные выражения уже не в моде? Ты уверен что new передаётся положительное число?


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 14.5.2007, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Sorry, ненаписал, что вопрос уже решен
http://forum.vingrad.ru/forum/topic-149872...ient/index.html

Вот рабочий вариант

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  TProtocolPOP3.rar 6,88 Kb
PM MAIL   Вверх
neosapient
Дата 3.6.2007, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Продолжаем

Ищю ТЕМУ письма
вот с rambler.ru её вырезал

Subject: =?Windows-1251?B?UnVzRkFRLnJ1IC0gLyDKzszP3N7SxdDbIMggz84gLyDf5/vq6CDv8A==?=
 =?Windows-1251?B?7uPw4Ozs6PDu4uDt6P8gLyBDL0MrKw==?=

эквивалентно

RusFAQ.ru - / КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Какой функцией воспользоваться чтобы преобразовать первое во второе?
PM MAIL   Вверх
ptr
Дата 3.6.2007, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Это base64. Ну и win-1251.

Это сообщение отредактировал(а) ptr - 3.6.2007, 17:30


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 4.6.2007, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Цитата

base64

Думаю точно также, но... Заюзал для расшифровки Base64Decode(...), которая выполняется с ошибкой.

PM MAIL   Вверх
korbian
Дата 4.6.2007, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 336
Регистрация: 20.2.2007
Где: Penza

Репутация: нет
Всего: 14



в base64 входят символы: 
  •  A-Z, a-z(верхний и нижний регистр латинских буквы)
  •  0-9 (цифры)
  •  + и /
откинь лишние символы и декодируй



--------------------
korbian ©
PM   Вверх
ptr
Дата 4.6.2007, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



neosapient, надеюсь ты не всю строку декодировал?

Расшифровываю:
=? - маркер начала.
Win-1251 - кодировка.
? - разделитель.
B - тип кодирования (B - base64, Q - Quoted-printable).
? - разделитель.
UnVzRkFRLnJ1IC0gLyDKzszP3N7SxdDbIMggz84gLyDf5/vq6CDv8A== - текст.
?= - маркер конца.
Для второй строки аналогично.

Таким образом надо декодировать VzRkFRLnJ1IC0gLyDKzszP3N7SxdDbIMggz84gLyDf5/vq6CDv8A== (RusFAQ.ru - / КОМПЬЮТЕРЫ И ПО / Языки пр) и 7uPw4Ozs6PDu4uDt6P8gLyBDL0MrKw== (ограммирования / C/C++).

А вообще почитай RFC 4096 и 2047.


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 14.6.2007, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Теперь новая задача.
Не связаная напрямую с программированием.
Мне надо найти статистику по уровням фильтрации спама и уровням ложных срабатываний самых распрастраненных спам-фильтров (лучше для клиентских приложений)
Сводную таблицу через поиск в яндексе найти не удалось :(
PM MAIL   Вверх
korbian
Дата 15.6.2007, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 336
Регистрация: 20.2.2007
Где: Penza

Репутация: нет
Всего: 14



Цитата(neosapient @  14.6.2007,  22:04 Найти цитируемый пост)
уровням ложных срабатываний самых распрастраненных спам-фильтров

ИМХО, такую информацию тебе очень трудно будет найти. Фирмам производителям коммерческих продуктов публикации такого рода крайне не желательны. 


--------------------
korbian ©
PM   Вверх
neosapient
Дата 30.6.2007, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Сравнительный анализ серверных спам-фильтров


Название                 Используемые технологии           Фильтрация/УЛС
Brightmail                 лексические, сигнатурные,          95% / 0,0001%
                                фильтры URL    

Skeptic                     проверки IP,                                  95% / 0,0004% 
                                эвристические методы, 
                                 поддержка Unicode, 
                                 байесовая оценка    

MailShell                   сигнатурный детектор                  99% / нет (в тестах производителя)
                                 массовых рассылок, 
                                эвристические методы, 
                                байесовая оценка    

SpamAssassin         эвристические методы,                  70-98% / 0.0014-0.15%
                                байесовая оценка    

Спамтест                лингвистические эвристики            85-95% / 0,001-0.005%

Спамооборона       сигнатурный детектор                    90% / 0,001%
                               массовых рассылок    

Всем спасибо
Ptr +

Это сообщение отредактировал(а) neosapient - 30.6.2007, 14:36
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1469 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.