Антивирь против TIdHTTPServer
, Антивирус блочит файлы.
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.217.9] |
|
|
Соблюдайте общие правила форума
MSDN Library
FAQ раздела
Поиск по разделу
Как правильно задавать вопросы
Антивирь против TIdHTTPServer
, Антивирус блочит файлы.
|
Сообщ.
#1
,
|
|
|
|
Добрый день.
Столкнулся с проблемой: Использую DelphiXE Indy10. На компоненте TIdHTTPServer висит примитивный сайт. Когда я с этого сайта пытаюсь скачать файл - антивирус (Nod32) его блокирует, когда тот почти загрузится. Причем в тексте не написано, что подозрение на вирус - просто блокирует. Этот же файл выложил на files.mail.ru - качается без проблем. Выходит, антивирусу не нравятся действия моего сервера при выдаче файла... Код процедуры обработки запросов самый примитивный: ![]() ![]() procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo); var sCom : string; begin try sCom := ARequestInfo.Document; AddToLog(AContext.Binding.PeerIP, 'Программа клиента: ' + ARequestInfo.UserAgent); if sCom = '/' then begin AddToLog(AContext.Binding.PeerIP, 'ЗАПРОС КЛИЕНТА'); AResponseInfo.ContentText := IOUtils.TFile.ReadAllText(ExtractFilePath(Application.ExeName) + 'Main.htm'); AResponseInfo.ContentType := 'text/html'; end else if sCom = '/MyProg.exe' then // ВОТ ТУТ ВИДИМО ЧТО-ТО НЕ НРАВИТСЯ АНТИВИРУСУ begin AResponseInfo.ContentType := 'bytes'; AResponseInfo.ResponseNo := 200; AResponseInfo.ContentStream := TFileStream.Create(ExtractFilePath(Application.ExeName) + 'TreeProgsClient.exe', fmOpenRead); end else begin AddToLog(AContext.Binding.PeerIP, 'Элемент: ' + sCom); AResponseInfo.ContentText := IOUtils.TFile.ReadAllText(ExtractFilePath(Application.ExeName) + Copy(sCom, 2, Length(sCom))); end; if Copy(sCom, Length(sCom) - 3, 4) = '.css' then begin AResponseInfo.ContentType := 'text/css'; end; AResponseInfo.ContentLanguage := 'RU'; AResponseInfo.CharSet := 'windows-1251'; except on E : Exception do begin AddToLog(AContext.Binding.PeerIP, 'Ошибка: ' + e.Message); end; end; end; |
|
Сообщ.
#2
,
|
|
|
|
Сравнить в любом сниффере (например, Fiddler или Wireshark) как именно отдаётся бинарный контент с files.mail.ru - подозреваю, там формат стрима не совпадает с "самоделкой". Как минимум, Content Type будет что-то типа application/octet-stream, обязательно проверить наличие Content Length и т.п.
|
|
Сообщ.
#3
,
|
|
|
|
NOD УГ. Если будут ругаться другие АВ - тогда есть смысл разбираться, а если нет - забей.
Просто какая-то не такая сигнатура. У меня аваст ругается на чистое консольное приложение begin end. |
|
Сообщ.
#4
,
|
|
|
|
Цитата Виталь @ Просто какая-то не такая сигнатура. О том и речь - скорее всего, с mail.ru выкачивается бинарь трансформированный в каком-то энкодинге, поэтому анализатор Нода молчит. А со "своего" сервака качается влоб побайтно, вот антивирь и кипишует - "вирусы атакуют, не пущать!" |
|
Сообщ.
#5
,
|
|
|
|
Всем огромное спасибо! Долгое время даже не залезал на форум, потому как он, как мне казалось, уже вымер. Темы добавляются редко, на многие не отвечают...
Буду пробовать. А вот ещё вопрос - подобный сайт, как у меня - может быть обнаружен яндексом или он слишком "деревянный". Я имею ввиду, чтобы поисковик его находил при поиске клиента в данной тематике? Например, при попытке создать рекламу в яндекс-директ, возвращается ответ, что нет связи с сайтом... хотя я легко захожу на страницы и пр... |
|
Сообщ.
#6
,
|
|
|
|
Какая разница как скачивается со своего сервера или мейл.ру, и там и там все энкодится в текст для передачи по http.
Можно глянуть заголовки, но они никак не должны отражать "безопасность" передаваемого файла, антивирь должен смотреть только сам скачанный файл. Отсюда как вариант - глянуть как настроены правила по скачке с неизвестных серверов, может там самодельный сервис в подозрительном диапазоне и с него загрузка бинарных данных блокируется Еще можно снять хэш с файла и со стрима полученного с сайта, должен совпадать |