» Главная
eXcode.ru » Статьи » Web
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 14





Установка Cookie




Автор: Котеров Д.В.

Мы подошли к вопросу: как же сценарий может установить Cookie в браузере пользователя. Ведь он работает "на одном конце провода", а пользователь — на другом. Решение довольно логично: команда установки Cookie — это просто один из заголовков ответа, передаваемых сервером браузеру. То есть, перед тем как выводить Content-type, мы можем указать некоторые команды для установки Cookie. Выглядит такая команда следующим образом (разумеется, как и всякий заголовок, записывается она в одну строку):

Set-Cookie: name=value; expires=дата; domain=имя_хоста; path=путь; secure

Существует и другой подход активизировать Cookie — при помощи HTML-тэга <meta>. Соответственно, как только браузер увидит такой тэг, он займется обработкой Cookie. Формат тэга такой:

<meta http-equiv="Set-Cookie" content="name=value; expires=дата; domain=имя_хоста; path=путь; secure" >

Мы можем видеть, что даже названия параметров в этих двух способах одинаковы. Какой из них выбрать — решать вам: если все заголовки уже выведены к тому моменту, когда вам потребовалось установить Cookie, используйте тэг <meta>. В противном случае лучше взять на вооружение заголовки, т. к. они не видны пользователю, а чем пользователь меньше видит при просмотре исходного текста страницы в браузере — тем лучше нам, программистам.

Примечание

Возможно, вы спросите, нахмурив брови: "Что же, с точки зрения программиста хороший пользователь — слепой пользователь." Тогда я отвечу: "Что вы, нет и еще раз нет! Такой пользователь хорош лишь для дизайнера, для программиста же желателен пользователь безрукий (или, по крайней мере, лишенный клавиатуры и мыши)".

Вот что означают параметры Cookie:

name

Вместо этой строки нужно задать имя, закрепленное за Cookie. Имя должно быть URL-кодированным текстом, т. е. состоять только из алфавитно-цифровых символов. Впрочем, обычно имена для Cookies выбираются именно так, чтобы их URL-кодированная форма совпадала с оригиналом.

value

Текст, который будет рассматриваться как значение Cookie. Важно отметить, что этот текст (ровно как и строка названия Cookie) должен быть URL-кодирован. Таким образом, я должен отметить неприятный факт, что придется писать еще и функцию URL-кодирования (которая, кстати, раза в 2 сложнее, чем функция для декодирования, т. к. требует дополнительного выделения памяти).

expires

Необязательная пара expires=датазадает время жизни нашего Cookie. Точнее, Cookie самоуничтожится, как только наступит указанная дата. Например, если задать expires=Friday,31-Dec-99 23:59:59 GMT, то "печенье" будет "жить" только до 31 декабря 1999 года. Кстати, вот вам и вторая неприятность: хорошо, если мы знаем наверняка время "смерти" Cookie. А если нам нужно его вычислять на основе текущего времени (например, если мы хотим, чтобы Cookie существовал 10 дней после его установки, как в подавляющем большинстве случаев и происходит). Придется использовать функцию, которая формировала бы календарную дату в указанном выше формате. Кстати, если этот параметр не указан, то временем жизни будет считаться вся текущая сессия работы браузера, до того момента, как пользователь его закроет.

domain

Параметр domain=имя_хостазадает имя хоста, с которого установили Cookie. Ранее я уже говорил про этот параметр. Так вот, оказывается, его можно менять вручную, прописав здесь нужный адрес, и таким образом "подарить" Cookie другому хосту. Только в том случае, если параметр не задан, имя хоста определяется браузером автоматически.

path

Параметр path=путьобычно описывает каталог (точнее, URI), в котором расположен сценарий, установивший Cookie. Как мы видим, этот параметр также можно установить вручную, записав в него не только каталог, а вообще все, что угодно. Однако при этом следует помнить: указав хост, отличный от хоста сценария, или путь, отличный от URI каталога (или родительского каталога) сценария, мы тем самым никогда больше не увидим наш Cookie в этом сценарии.

secure

Этот параметр связан с защищенным протоколом передачи HTTPS, который в книге не рассматривается. Если вы не собираетесь писать сценарии для проведения банковских операций с кредитными карточками (или иные, требующие повышенной безопасности), вряд ли стоит обращать на него внимание.

После запуска сценария, выводящего соответствующий заголовок (или тэг <meta>), у пользователя появится Cookie с именем nameи значением value. Еще раз напоминаю: значения всех параметров Cookie должны быть URL-кодированы, в противном случае возможны неожиданности.
К началу статьи





Добавил: LedWormДата публикации: 2006-01-19 20:32:32
Рейтинг статьи:5.00 [Голосов 1]Кол-во просмотров: 21221

Комментарии читателей

Всего комментариев: 2869

2017-12-03 18:04:58
LobbertiRiz
Установка цветного видеодомофона с камерой в квартиру.Системы видеонаблюдения для квартир установка магнитного замка в офис от 13000 тысяч рублей. установка дверного доводчика от 35000 рублей

[url=http://video-stb.ru]кодовый замок на дверь электронный[/url]
[url=https://www.video-stb.ru/catalog/magnitnye-zamki/]поставить магнитный замок на дверь[/url]

<a href=https://www.video-stb.ru/catalog/ustanovka-domofonov/>аудио домофон</a>

[url=https://www.video-stb.ru/catalog/ustanovka-dvernykh-zamkov/]ремонт врезных замков[/url]

[url=https://www.video-stb.ru/catalog/kodovye-zamki/]кодовый замок на дверь электронный[/url]

2017-12-02 15:07:29
Davidmox
Дневники людей, проходящих противовирусную терапию. Сообщаем о ходе терапии, обсуждаем побочки, задаём вопросы прошедшим через всё это, делимся своим опытом

<a href=https://hcv-forum.ru/>ледипасвир цена</a>
<a href=https://hcv-forum.ru/>гепцинат лп украина</a>

[url=https://hcv-forum.ru/]hepcinat lp москва[/url]
[url=https://hcv-forum.ru/]софосбувир инструкция по применению цена[/url]

2017-11-26 13:30:22
Larryanalm
В первую очередь укладывается металлическая сетка, к которой будет прикреплен нагревательный элемент. Перед заливкой стяжки, необходимо четко спланировать положение кабеля и его муфт, выходов под подключение электросети, регулятор и термостат, подробнее читайте на сайте <a href=http://remstroitelstvo.ru>remstroitelstvo.ru</a>

2017-11-23 11:39:56
GeorgeDow
Как туплекс, так и пробка обладают прекрасными параметрами, поэтому многие люди затрудняются с правильным выбором. Пробка является экологически чистой, однако опасается воздействия воды, подробнее читайте на сайте <a href=http://rempostroy.ru>rempostroy.ru</a>

2017-11-21 14:24:54
HarryyRIx
Ревлимид (Леналидомид) дженерик lenmid 5 Cтоимость, цена, купить, отзывы, отзывы пациентов

[url=http://india-med.net/anticancer]Стивагра (Stivarga) - Регорафениб (Regorafenib) инструкция[/url]

<a href=http://india-med.net/lucius-pharmaceuticals-onko>LuciSun - дженерик Сутент (Sutent ) - Sunitinib (Сунитиниб) Купить, стоимость, цена, отзывы пациентов</a>

<a href=http://india-med.net>daclahep купить</a>

[url=http://india-med.net]ледипасвир цена казахстане[/url]

2017-11-21 07:38:50
DonaldPrilm
Каркасная конструкция имеет негативное свойство выводить тепло накопившееся внутри помещения на улицу. Чтоб избежать подобных теплопотерь, или значительно уменьшить их показатели, рекомендуется подобрать подходящий утеплитель для каркасного дома, подробнее читайте на сайте <a href=http://omontazhe.ru>omontazhe.ru</a>

2017-11-21 05:03:09
Robertcok
Практически все замужние женщины имеют тайное желание – проверить своего мужчину на верность. Ревность – та черта, которая всегда имеет место в отношениях между супругами. Очень часто она возникает на определённой почве. Подробнее читайте на сайте <a href=http://s-narodom.ru>s-narodom.ru</a>

2017-11-20 05:00:24
GordonHycle
Люди всегда были склонны к тому, чтобы фантазировать и придумывать что-то просто невообразимое. Это связано с тем, что повседневная наша жизнь иногда может быть довольно скучной и неинтересной, полной рутинных дел и забот, подробнее об этом читайте на сайте <a href=http://hayastannews.com>hayastannews.com</a>

2017-11-19 09:03:44
Charlessen
Данные вредные привычки увеличивают возраст мозга на несколько лет. Из-за этого, в свою очередь, страдают память и способность к обучению. К такому выводу пришли сотрудники Университета Турку, подробнее читайте на сайте <a href=http://womaan.ru>womaan.ru</a>

2017-11-18 05:49:40
Matthewmic
Картофель порезать соломкой, хорошо промыть, отварить, морковь натереть и обжарить вместе с луком на масле. Добавить зажарку в суп, сцедить и отжать грибы, положить в кастрюлю к картофелю, проварить 5 минут. Всыпать промытый рис и варить 10 минут, читайте об этом подробнее на сайте <a href=http://zonakulinara.ru>zonakulinara.ru</a>
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

В какой обстановке Вы программируете?
.. с пивом и друзьями ночью
9% (16)
.. без пива, но с друзьями
2% (3)
.. с кофеваркой в обнимку
23% (40)
.. с мешком чего-нибудь хрустящего
15% (27)
.. один, но с Rammstein ..
51% (89)

Проголосовало: 175
Приходит хакер к психиатру:
- Док, помоги, у меня раздвоение виртуальной личности.
- Не понял, это как?
- Я со своего второго ника на третий E-Mailы начал получать.
Рейтинг: 9/10 (4)
Посмотреть все анекдоты