2016-03-24 3 views
0

В настоящее время я разрабатываю веб-приложение с помощью AngularJS. В этом я получаю и отправляю данные через Rest API (API) с различными методами. Полученные данные извлекаются в виде JSON.Как скрыть данные, полученные через HTTP-запросы?

Проблема:
Проблема здесь, в то время как я использую HTTPS, данные передаются и принимаются с помощью HTTP-запросов все еще можно увидеть в прокси инструмента или мониторов трафика. Из этого можно легко прочитать все JSON.
Каждый из моих запросов имеет токен , прикрепленный в его заголовке, который выполняет проверку подлинности. Однако после авторизации есть часть, которую я не хочу отображать в/в таких инструментах мониторинга.

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

ответ

5

Вы не можете.

Если вы передадите его клиенту, клиент должен уметь его видеть.

Если пользователь настроил свой браузер на прокси-запросы, прокси-сервер является клиентом.

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

+0

Таким образом, в основном единственный способ защитить эти данные - сохранить его в зашифрованном виде, а затем расшифровать его на моей угловой стороне как только он достигнет клиента? – theHeman

+1

Это не остановит инструменты мониторинга, встроенные в браузер (например, отладчик JavaScript), после его изучения. – Quentin

+0

Так что в принципе есть ** нет способа ** не защищать данные? – theHeman

0

прокси инструмент или трафик контролирует будет видеть данные по протоколу HTTPS, только если клиент принял человек-в-середине (MITM), установив сертификат SSL, используемый MITM:

Чтобы увидеть содержимое (кроме имени хоста) https-соединения, кто-то, кто не является ни клиентом, ни сервером, должен выполнить MITM.

Если кто-то делает MITM с сертификатом, которому не доверяет клиент, клиент отклонит соединение.

ВНИМАНИЕ: Если сервер НЕ использует HSTS, человек, выполняющий MITM, может выполнить атаку SSLSTRIP, если первым соединением является http. В этом случае MITM не нуждается в доверенном сертификате, потому что соединение останется в виде обычного текста (http)

+0

Не могли бы вы немного доработать? Или поделиться ссылкой, чтобы понять то же самое? – theHeman

+0

@ashhem Я добавлю некоторые объяснения, не могли бы вы сказать мне, какие пункты все еще неясны? – Tom

Смежные вопросы