Долго сохраненные соединения Ajax, заблокированные Антивирусом

Хорошо, это совершенно причудливо. Я создаю веб-приложение, которое полагается долго сохраненный HTTP-соединением с помощью КОМЕТЫ, и с помощью этого для потоковых данных от сервера до приложения.

Теперь, проблема состоит в том, что это, кажется, не подходит к некоторым антивирусным программам. Мы находимся теперь на бете, и некоторые пользователи сталкиваются с проблемами с приложением, когда антивирус включен. Это не всего один определенный антивирус также.. Я нашел этому работу вокруг для Стой, когда я выглядел онлайн: http://avricot.com/blog/index.php?post/2009/05/20/Comet-and-ajax-with-Avast-s-shield-web-:-The-salvation-or-not

Однако у кого-либо здесь есть какие-либо предложения о том, как обработанному это? Я должен отправить какой-либо определенный заголовок для угождения этих программ обеспечения безопасности?

11
задан jeffreyveon 28 February 2010 в 16:57
поделиться

5 ответов

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

Это работает, когда приложение отправляет полный HTTP-запрос на сокет, потому что антивирус видит конец HTTP-запроса и знает, что он может остановить сканирование и отправить данные.

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

Если это не веская причина для отключения этой конкретной функции, я не знаю, что это такое. Я столкнулся с этим с AVast и McAfee - на данный момент остальная антивирусная индустрия, вероятно, делает что-то подобное. В частности, я столкнулся с этим с функцией McAfee Personal Information Protection, которая, насколько я могу судить, слишком глючна для использования.

Если можете, просто продолжайте посылать данные через сокет или отправляйте данные в HTTP-сообщениях с полем длины.Я попытался сообщить об этом нескольким поставщикам антивирусных программ - один из них исправил это, а другой нет, насколько мне известно.

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

7
ответ дан 3 December 2019 в 10:03
поделиться

Проблема в том, что некоторые файлы нельзя сканировать по порядку - требуются более поздние части, чтобы определить, являются ли более ранние части вредоносными.

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

Единственное, что я могу предложить, - это выполнять передачу данных небольшими транзакциями и использовать соединение COMET только для уведомления (закрытие каждого канала после одного уведомления).

0
ответ дан 3 December 2019 в 10:03
поделиться

Если вы используете нестандартный порт для своих веб-запросов, вы можете обойти это, существует ряд других проблем, а именно то, что это будет считаться перекрестным -домен многими браузерами. Не уверен, что могу предложить здесь лучшее предложение. Это действительно зависит от того, как программа AV перехватывает трафик данного порта.

0
ответ дан 3 December 2019 в 10:03
поделиться

Я думаю, вам придется разорвать соединение и подключиться заново. Что делает ваш код, если соединение прерывается в случае сбоя? Однажды у меня была похожая проблема с брандмауэром. Код должен был обнаружить отключение, а затем снова подключиться. Мне нравится ответ о прерывании передачи данных.

0
ответ дан 3 December 2019 в 10:03
поделиться

Попробуйте использовать https вместо http. Есть сканеры, которые перехватывают https, но они менее распространены, и эта функция по умолчанию отключена в последний раз, когда я проверял. Он также нарушил соединение Firefox SSL при активации, поэтому я думаю, что очень немногие люди будут его активировать, и поставщик, надеюсь, убьет эту функцию.

3
ответ дан 3 December 2019 в 10:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: