Поиск

Проблемы с файлами cookie

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

Например, если вы используете cookie для хранения параметров настройки пользователя, то в случае, если cookie будут недоступны, программа должна взять стандартный набор параметров, Другими словами, предусмотрите меры "оборонительного характера".

Недолговечность файлов cookie

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

Броузер может принять файл cookie, поработать с ним, а затем просто о нем "забыть", опять-таки без всяких видимых причин. Если вы установите перманентные файлы cookie с помощью аргумента -expire, броузер все равно может избавиться от них, не уведомив об этом пользователя.

Файлы cookie поддерживаются не всегда

Не секрет, что не все броузеры поддерживают файлы cookie. Стандарты Internet, которые применяются к HTTP - и Web-трафику, совсем не гарантируют, что броузеры должны поддерживать работу с cookie.

Сказанное выше вовсе не означает, что большинство броузеров не поддерживают cookie (все обстоит как раз наоборот). Такие броузеры, как Netscape (начиная с версии 1.1), Internet Explorer (все версии), Lynx, Opera и другие популярные Web-броузеры, поддерживают работу с файлами cookie. Однако в большинстве из них пользователь имеет возможность отключить поддержку cookie.

Даже если вы использовали функцию user_agent модуля CGI и выяснили, что ваш броузер должен поддерживать файлы cookie, не стоит полагаться на эту информацию.

Некоторые пользователи не любят cookie

Возможно, с заголовком этого раздела трудно согласиться: причем здесь "нелюбовь" к файлам cookie?

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

Помните: один броузер необязательно должен представлять одного пользователя. Броузером могут пользоваться много людей в доме, офисе, Internet-кафе или библиотеке. Установка (или изменение) файла cookie для одного пользователя может в действительности привести к его установке для нескольких пользователей сразу.

Файлы cookie могут быть использованы для отслеживания факта посещения конкретного Web-узла и сохранения параметров настройки, которые выбрали посетители. Поэтому если вас беспокоят вопросы конфиденциальности, эта информация может вас насторожить.

Например, гипотетический книжный магазин, о котором упоминалось выше (congo.com), может отслеживать, на каких названиях книг "щелкал" посетитель для получения более подробной информации, а затем использовать эти данные для составления соответствующих списков книг с последующим предоставлением их этому посетителю.

Внешне все выглядит прекрасно. Однако для тех, кого волнуют вопросы сохранения тайны, возникают две проблемы. Во-первых, кто угодно может отследить, какими книгами заинтересовался конкретный Web-посетитель. И если эта информация как-то связана с именем и адресом Web-посетителя (допустим, ее можно получить после анализа данных формы, заполненной на другом Web-узле, который совместно использует информацию с узлом congo.com), на этого "бедного" Web-посетителя может обрушиться поток электронной почты, имеющей отношение к теме интересующих его книг. Чем больше объем информации, совместно используемой узлами-сборщиками файлов cookie, тем более детализированными оказываются данные, которые могут быть собраны об этом Web-посетителе.

Помимо вопросов сохранения секретности возможны и другие негативные нюансы. Если первые две книги относились к категории "Компьютер", то Web-узел может уже не предлагать этому Web-посетителю книги из категорий "Романтика" и "Кулинария", т.е. Web-узел "записал" этого посетителя в одну категорию и отсек другие.

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

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

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