
- •Что такое куки.
- •Назначение.
- •Понятие
- •История
- •Заблуждения
- •Работа куки Установка куки
- •Атрибуты куки
- •Условия истечения срока хранения
- •Аутентификация
- •Настройка браузера
- •Приватность и сторонние куки
- •Кража куки
- •Подмена куки
- •Межсайтовые куки
- •Нестабильность между клиентом и сервером
- •Срок действия куки
- •Url (строка запроса)
- •Скрытые поля формы
- •Http-аутентификация
- •Сохранение на клиентской стороне
Что такое куки.
Ку́ки (слово не склоняется; от англ. cookie — печенье) — небольшой фрагмент данных, созданный веб-сервером или веб-страницей и хранимый на компьютере пользователя в виде файла, который веб-клиент (обычно веб-браузер) каждый раз пересылает веб-серверу в HTTP-запросе при попытке открыть страницу соответствующего сайта. Применяется для сохранения данных на стороне пользователя, на практике обычно используется для:
аутентификации пользователя;
хранения персональных предпочтений и настроек пользователя;
отслеживания состояния сессии доступа пользователя;
ведения статистики о пользователях.
Приём куки обозревателями (браузерами) требуют многие сайты с ограничениями доступа, большинство интернет-магазинов. Настройка оформления и поведения многих веб-сайтов по индивидуальным предпочтениям пользователя тоже основана на куки.
С момента своего появления куки вызывали обеспокоенность пользователей Интернета, поскольку слежение за действиями и предпочтениями пользователей может подвергнуть опасности тайну личной жизни. Как результат, в Европейском союзе, Соединённых Штатах, и в других странах были приняты соответствующие законы, регулирующие применение куки. С другой стороны, куки подвергаются критике также потому, что они не всегда точно идентифицируют пользователей, а это может повлечь атаки злоумышленников.
Имеется и ряд заблуждений о куки. Они главным образом основаны на уверенности людей, что куки являются компьютерными программами. На самом деле, куки — это простые текстовые данные, и они не могут выполнять какие-либо действия самостоятельно. В частности, куки не могут быть ни вирусами, ни шпионскими программами.
Большинство современных браузеров позволяют пользователям выбрать — принимать куки или нет, но их отключение делает невозможной работу с некоторыми сайтами.
Назначение.
Куки используются веб-серверами для различения пользователей и хранения данных о них.
К примеру, если вход на сайт осуществляется при помощи куки, то после ввода пользователем своих данных на странице входа, куки позволяют серверу запомнить, что пользователь уже идентифицирован, и ему разрешён доступ к соответствующим услугам и операциям.
Многие сайты также используют куки для сохранения настроек пользователя. Эти настройки могут использоваться для персонализации, которая включает в себя выбор оформления и функциональности. Например, Википедия позволяет авторизованным пользователям выбрать дизайн сайта. Поисковая система Google позволяет пользователям (в том числе и не зарегистрированным в ней) выбрать количество результатов поиска, отображаемых на одной странице.
Куки также используются для отслеживания действий пользователей на сайте. Как правило, это делается с целью сбора статистики, а рекламные компании на основе такой статистики формируют анонимные профили пользователей, для более точного нацеливания рекламы.
Понятие
В техническом плане куки представляют собой фрагменты данных, изначально отправляемых веб-сервером браузеру. При каждом последующем посещении сайта браузер пересылает их обратно серверу. Без куки каждый просмотр веб-страницы является изолированным действием, не связанным с просмотром других страниц того же сайта, с помощью же куки можно выявить связь между просмотром разных страниц. Кроме отправки куки веб-сервером, куки могут создаваться скриптами на языках вроде JavaScript, если они поддерживаются и включены в браузере.
Спецификации указывают минимальные объёмы, которые должны предоставляться браузерами для хранения куки. Так, браузер должен хранить по меньшей мере 300 куки по 4096 байт каждая, и по меньшей мере 20 куки для одного сервера или домена.
Популярные браузеры имеют соответствующий максимум хранящихся куки для каждого домена:
Internet Explorer 6 — 20
Internet Explorer 7 — 20
Opera 9 — 30
Firefox 1.5 — 50
Firefox 2.0 — 50
На практике, некоторые браузеры могут накладывать более жёсткие ограничения. К примеру, Internet Explorer предоставляет 4096 байт для всех куки в одном домене.
Имена куки нечувствительны к регистру в соответствии с разделом 3.1
.
Куки могут устанавливать дату их удаления, в этом случае они будут автоматически удалены браузером в указанный срок. Если дата удаления не указана, куки удаляются сразу, как только пользователь закроет браузер. Таким образом, указание даты истечения позволяет сохранить куки более чем на одну сессию и такие куки называются постоянными. Например, интернет-магазин может использовать постоянные куки для хранения кодов предметов, которые пользователь поместил в корзину покупок — и даже если пользователь закроет браузер, не совершив покупки, при последующем входе ему не придётся формировать корзину заново.
Хранение куки также может ограничиваться в зависимости от веб-сервера, домена или поддомена, где они были созданы.