Безопасен ли файл cookie в HTTPS-соединении?

Безопасен ли файл cookie в соединении HTTPS?

Ответы

Ответ 1

Он передается и зашифровывается сервером, поэтому он безопасен как TLS.

Вы также можете указать cookie как предназначенный только для связи клиент- > сервер и блокировать доступ с клиентского Javascript, добавив флаг "HttpOnly" в заголовок ответа "Set-cookie".

edit — и, как предлагает @Bruno, вы также можете использовать "безопасный" флаг (в том же заголовке), чтобы сообщить браузеру, что файл cookie должен быть отправлен обратно на сервер в https-запросах. Как @D.W. указывает на более новый комментарий, который может быть весьма значительным, поскольку вы почти наверняка не хотите, чтобы ваши важные защищенные файлы cookie, вероятно, были переданы на незащищенные взаимодействия (скажем, до входа в систему из незащищенной публичной части сайта). Если все взаимодействия с конкретным доменом cookie HTTPS, то это может и не понадобиться, но это такая простая вещь, что нет причин не делать этого.

edit — обновление, долгое время: используйте флаг secure:)

Ответ 2

В связи, да. Но он все еще хранится на клиентской машине незашифрованной.

Ответ 3

Cookies отправляются в HTTP-заголовке. Таким образом, они столь же безопасны, как и HTTPS-соединение, которое зависит от множества параметров SSL/TLS, таких как сила шифрования или длина открытого ключа.

Пожалуйста, имейте в виду, что если вы не установили флаг Secure для вашего Cookie, Cookie может быть передано по незащищенному HTTP-соединению. Существуют атаки типа "человек-в-середине", которые используют такие незащищенные файлы cookie для кражи информации о сеансе. Поэтому, если у вас нет достаточных оснований, всегда устанавливайте флаг безопасности для файлов cookie, когда вы хотите, чтобы они передавались только через HTTPS.