EugeneRoshal
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору vasevase Цитата: Лучше не надо. Кому надо - и так следит (или не обломится зайти на сайт). Какие-то поползновения в Интернет могут счесть за "зловредное поведение", имхо. Плюс, думаю, немало машин стоит в offline-режиме. Нафига на таких данная функция? | Я пока не решил. Если делать, то, конечно, опционально. Но если она будет выключенной по умолчанию, выключенной она у большинства пользователей и останется. Так что ее основная задача - информирование о важных обновления - останется невыполненной. Если ее делать включенной по умолчанию, многие корпоративные пользователи будут недовольны. Там может быть своя политика по обновлению программ и доступу в интернет, так что админам придется еще и выключать у каждого пользователя эту галку. Потом и обычные пользователи могут насторожиться из-за попыток архиватора молча лезть в сеть. От архиватора каких-то сетевых функций люди обычно не ждут. Но на другой чаше весов - информирование о важных обновлениях. Сейчас я прикинул как это реализовать, если все-таки до этой функции дойдет дело. Мне не нравится идея с автоматическим скачиванием и установкой новой версии. Мне кажется, что сообщение о новой версии с кнопкой "Open download page" и безопаснее, и надежнее, хоть и менее удобно. В случае WinRAR ситуация осложняется тем, что есть много переводов на разные языки, а некоторые дистрибьюторы предпочитают выкладывать переведенную версию сначала на своем сайте, а не rarlab.com. Тогда в WinRAR должна быть строка с https based download page URL, которую переводчик или дистрибьютор может менять. И должен быть централизованный https://rarlab.com/version_information.txt с примерно следующей структурой: 5.71 English 2 default 5.71 Russian 2 default 5.70 Slovak 4 https://rarlab.com/download.htm 5.71b1 Slovak 1 https://rarlab.com/download.htm Первая колонка - номер версии, вторая - язык, третья - важность обновления (1 - beta, 2 - regular release, 3 - important security fix, 4 - critical security fix, может потом еще что-то придумается), четвертая - URL (используем стандартный из winrar.exe или переопределяем в случае если со стандартным какие-то проблемы). Читаем этот файл из winrar.exe через InternetReadFile и выдаем соответствующее сообщение. Или не выдаем. Вопрос еще в том, нужна ли для этого файла цифровая подпись, проверяемая в WinRAR после чтения. Она может быть полезна в случае, если сломали сервер и предложили пользователям обновиться на malware под видом critical security update. Сломанный сервер обнаружат и выключат в течение часов, но сколько-то людей обновиться успеет. А минус подписи, что без нее можно было бы сделать генерацию этого файла полностью автоматической на основе анализа каталога ftp. А так его придется переподписывать вручную после выкладки каждого перевода. А переводов много. Если его подписывать автоматически на сервере, тогда подпишутся и изменения, внесенные злоумышленниками. И еще вопрос - какие атаки злоумышленников на предложенную схему нужно принять во внимание. Если version_information.txt отдается по https, то, видимо, подменить его не получится. Или есть варианты? Если дойдет дело до реализации, надо будет думать и по поводу безопасности. Добавлено: Цитата: четвертая - URL (используем стандартный из winrar.exe или переопределяем в случае если со стандартным какие-то проблемы) | А может нужно убрать возможность переопределять URL из соображений безопасности и всегда использовать hard coded https URL из winrar.exe. Тогда злоумышленнику ни при каких вариантах не удастся направить пользователя на свою страницу. Правда если какой-то из дистрибьюторов закрылся, пользователи все равно увидят сообщение об обновлении, но не смогут открыть страницу для скачивания. |