avatar

Игорь Филиппов

fullstack web developer

Cookies безопасность

Продолжая тему безопасности данных пользователей сайта. Сегодня затронем вопрос cookies файлов. Итак, давайте разберемся что такое Cookie безопасность.

Что такое cookie?

Cookie – это данные (небольшой фрагмент) отправленные сервером и хранимым на компьютере. Соответственно каждый раз когда компьютер подсоединяется к веб-сайту он отправляет эти данные в http-запросе. Что касается https, то тут ситуация немного другая (пожалуй этому можно посвятить отдельную статью).

Что же это за данные которые беспристрастно отдаются серверу с нашего компьютера:

  • аутентификации пользователя
  • хранение настроек пользователя
  • статистика пользователя
  • и сеансы доступа пользователя.

То-есть уже с самого первого пункта пора задуматься. Составляющие фактические слова аутентификация – по простому пароль и имя пользователя. То-есть по сути получается, что браузер просто так дарует самые сокровенные вещи.

Мы не будем сейчас переходить к теме: «Как обезопасить свои cookie файлы», сейчас мы поговорим что делать владельцам сайтов для построения правильной политики безопасности для пользователей.

Представим, что мы уже обзавелись SSL сертификатом и с нашим сайтом соединение происходит через https протокол. Что же делать нам с куками?

Вначале давайте рассмотрим что сделали создатели браузера для «безопасности» наших данных:

- всего браузер может хранить до 300 значений cookies

- каждый cookie не может превышать 4Кбайта

- с одного сервера или домена может храниться до 20 значений cookies.

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

К тому же cookies хранят загруженные данные с сайта если Вы на нем уже бывали однажды при повторном заходе загрузка страницы происходить быстрее.

Но есть сайты которые требуют по своей тематике скидывать куки каждый раз при выходе с браузера или сайта. Например это сайты банков или онлайн платежных систем.

Немного продолжим экскурс в теорию.

Со стороны сайта cookies файлы можно задавать с помощью php или же javascript. С их помощью можно формировать время жизни этих файлов, максимальный объем и т.д.

Что же можно сделать?

Например в php существуют INI – настройки безопасности сессий. Те же функции “session.cookie_lifetime = 0 “

Можно настроить авто логин и многое другое, весь перечень данных настроек можно найти в официальной документации php.

Способы сохранности данных пользователя:

  1. Шифрование данных. Это нам предоставил SSL
  2. Проверка браузера, а именно проверка поля http-заголовка user-agent
  3. Срок действия сессии. Изменить или перенастроить можно в файлах php.ini и. htaccess
  4. Привязка к IP адресу. Используется обычно только когда кол-во пользователей ограничено и они имеют статические IP-адреса.

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