На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Соблюдайте общие правила форума
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Указывайте точные версии Delphi и используемых сетевых библиотек.

Не приветствуется поднятие старых тем. Если ваш вопрос перекликается со старой темой, то для вопроса лучше создать новую тему, а старую указать в первом сообщении с описанием взаимосвязи.

Внимание:
попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Krid, user posted image Rouse_

Модераторы: Krid, Rouse_
  
> Антивирь против TIdHTTPServer , Антивирус блочит файлы.
    Добрый день.
    Столкнулся с проблемой:
    Использую DelphiXE Indy10.
    На компоненте TIdHTTPServer висит примитивный сайт.
    Когда я с этого сайта пытаюсь скачать файл - антивирус (Nod32) его блокирует, когда тот почти загрузится. Причем в тексте не написано, что подозрение на вирус - просто блокирует.
    Этот же файл выложил на files.mail.ru - качается без проблем.
    Выходит, антивирусу не нравятся действия моего сервера при выдаче файла...
    Код процедуры обработки запросов самый примитивный:

    ExpandedWrap disabled
      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;
    Сообщение отредактировано: poiree -
      Сравнить в любом сниффере (например, Fiddler или Wireshark) как именно отдаётся бинарный контент с files.mail.ru - подозреваю, там формат стрима не совпадает с "самоделкой". Как минимум, Content Type будет что-то типа application/octet-stream, обязательно проверить наличие Content Length и т.п.
        NOD УГ. Если будут ругаться другие АВ - тогда есть смысл разбираться, а если нет - забей.
        Просто какая-то не такая сигнатура.

        У меня аваст ругается на чистое консольное приложение begin end.
          Цитата Виталь @
          Просто какая-то не такая сигнатура.

          О том и речь - скорее всего, с mail.ru выкачивается бинарь трансформированный в каком-то энкодинге, поэтому анализатор Нода молчит. А со "своего" сервака качается влоб побайтно, вот антивирь и кипишует - "вирусы атакуют, не пущать!"
            Всем огромное спасибо! Долгое время даже не залезал на форум, потому как он, как мне казалось, уже вымер. Темы добавляются редко, на многие не отвечают...
            Буду пробовать.
            А вот ещё вопрос - подобный сайт, как у меня - может быть обнаружен яндексом или он слишком "деревянный". Я имею ввиду, чтобы поисковик его находил при поиске клиента в данной тематике?
            Например, при попытке создать рекламу в яндекс-директ, возвращается ответ, что нет связи с сайтом... хотя я легко захожу на страницы и пр...
              Какая разница как скачивается со своего сервера или мейл.ру, и там и там все энкодится в текст для передачи по http.
              Можно глянуть заголовки, но они никак не должны отражать "безопасность" передаваемого файла, антивирь должен смотреть только сам скачанный файл. Отсюда как вариант - глянуть как настроены правила по скачке с неизвестных серверов, может там самодельный сервис в подозрительном диапазоне и с него загрузка бинарных данных блокируется :) Еще можно снять хэш с файла и со стрима полученного с сайта, должен совпадать
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0.0779 ]   [ 16 queries used ]   [ Generated: 22.09.26, 13:06 GMT ]