Создание cookie-файлов

Этические проблемы, которые влечет использование cookie-файлов, мы обсудим в главе 10, посвященной этике Интернета. Сейчас же укажем, что cookie-файлы являются прекрасным средством отслеживания потока щелчков (clickstream), т.е. множества вы- боров, которые делают посетители вашего сайта, щелкая мышью на страницах сайта.

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

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

Cookie-файлы представляют собой текстовые файлы, которые сервер Web посылает на пользовательские компьютеры для сохранения и последующего извлечения. На- пример, каждый раз, когда Салли Серфер (Sally Surfer) просматривает сайт YeOldeWidgetShoppe.com, код страницы сайта определяет, есть ли в компьютерной системе Салли (Sally) набор cookie-файлов. Благодаря cookie-файлу, сайт может при- ветствовать Салли (Sally) по имени, а компания-владелец сайта- присматривать за дея- тельностью Салли (Sally).

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

Например, вы можете извлекать с каждой страницы сайта один cookie-файл, который вы определили для своего сайта. Допустим, cookie-файл сохраняет время последнего пере- хода на данную страницу плюс некий уникальный код (ID) данного пользователя. Срав- ните текущее время со временем в cookie-файле, сохраните эту информацию в базе дан- ных, а затем замените время в cookie-файле на текущее время. Это позволит вам опре- делить время пребывания посетителя на каждой странице сайта.

Кроме того, если вы не зададите срок хранения cookie-файла, он будет разрушаться при закрытии браузера. И опять же, этикет Web требует, чтобы вы использовали постоянный cookie-файл только для того, чтобы облегчить пользователям возврат на ваш сайт (на- пример, чтобы избежать регистрации при каждом возврате на сайт). Если же вы исполь- зуете cookie-файлы для идентификации каждого посещения пользователем вашего сайта, вы нарушаете этикет. Если вы решили отслеживать личности посетителей, а не визиты, требуйте регистрации при входе на сайт. Не засоряйте жесткие диски посетителей боль- шим числом cookie-файлов.

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

Как выглядят cookie-файлы?

Если вы исследуете свои временные файлы Интернета, вы, вероятно, найдете список файлов, которые выглядят как адреса электронной почты, заканчивающиеся как ©somewhere. Вы можете также увидеть тип файла (если разрешили показывать его), который начинается со слова Cookie. Открыв эти cookie-файлы в любом текстовом ре- дакторе, вы можете просмотреть их содержимое, которое позволяет сайту отслеживать посетителей. Возможно, однако, что вы не поймете, что означает этот текст, поскольку форматы cookie-файлов задаются теми кодами, которые их создают.

Создание cookie-файлов

Создать cookie-файл несложно. Используя небольшой сценарий CGI или другой сцена- рий (например, сценарий JavaScript) плюс небольшой код HTML, вы можете задать cookie-файл, который позволит вашему сайту управлять любым посетителем, у которого установки браузера позволяют принимать cookie-файлы. Ниже приведены два листинга сценариев Perl и JavaScript, позволяющих создавать простые cookie-файлы.

В Листинге 8,2 показан отрывок кода на языке Perl, иллюстрирующий способ создания cookie-файла сценарием Perl. Используя модуль CGI Perl, вы можете легко написать код, который генерирует cookie-файлы с той информацией, которую вы хотите сохранить в cookie-файле. Чтобы сохранить информацию, которую пользователь вводит в форму, просто перехватите ввод в форму и сохраните его в параметре -value. Если вам нужно сохранить несколько значений, просто создайте хэш из этих значений и сошлитесь на него при создании cookie-файла.

Продолжение темы:

Полезная информация