Delphi: безопасное / зашифрованное скачивание обновлений из интернета - PullRequest
2 голосов
/ 14 июля 2011

Цель: скачать архивы с веб-сайта (обычный хостинг).Пользователь не должен ничего знать о загрузке, подключении, хранении файлов на веб-сайте.

Я использую idHTTP + SSL для загрузки архивов.Но пользователь может получить доступ к веб-сайту -> я могу установить обычную аутентификацию, но пользователь может видеть имя пользователя / пароль, например, в HTTP Analyzer.

Программа загружает файл с настройками.Настройки в форме простого текста.Этот текст можно увидеть и в HTTP Analyzer.

Я могу зашифровать этот текст, но как насчет архивов?Мне нужно защитить все за один раз.

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

Как предотвратить все это?

Спасибо !!!!!!!!

1 Ответ

5 голосов
/ 14 июля 2011

Я предполагаю, что «обычный хостинг» означает обычный хостинг на сайте PHP / Perl, на котором вы не можете запускать произвольное программное обеспечение или вносить значительные изменения в конфигурацию сайта.Я бы предпринял следующие шаги:

  • Настройте папку, в которой находятся ваши архивы и «текстовый файл», чтобы принимать только HTTPS-соединение, затем убедитесь, что вы подключаетесь только по HTTPS: «HTTP Analyzer» (илилюбой анализатор) больше не сможет видеть ваш трафик.
  • Дайте вашему архиву бессмысленные имена (GUID?), чтобы у пользователя не было возможности просто ввести имя файла в браузер и загрузитьтот.Вам нужно будет «сопоставить» фактические имена файлов с GUID, используя ваш файл TXT.
  • Для дополнительных точек замените файл «TXT» сценарием, который проверяет подлинность вашего приложения перед предоставлением фактических данных.Даже простого соленого хэша текущей даты и времени будет достаточно для сдерживания большинства пользователей.

Конечно, я ожидаю, что за этим вопросом последуют другие вопросы, некоторые на ServerFault, некоторые здесьSO:

  • Как заблокировать простой HTTP-доступ к папке, используя [название программного обеспечения вашего сервера]
  • Как мне аутентифицировать приложение, чтобы обычный браузер не мог загрузить мой TXT-файл.
...