Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

Библиотека :: Компьютеры и Программирование :: Котеров Д. В. - Самоучитель PHP 4
<<-[Весь Текст]
Страница: из 287
 <<-
 
. 
Не стоит увлекаться вызовами GetAllHeaders(): часто интересующую информа- 
цию (такую, например, как название браузера) можно получить и через переменные 

Глава 21. Работа с WWW 291 
окружения. Последний способ гораздо более переносим, поэтому всеми силами ста- 
райтесь предпочесть его. 
Работа с Cookies 
Я не буду здесь особо вдаваться в подробности работы с Cookies (хотя, положа 
руку 
на сердце, вдаваться тут особо не во что), тем более, что этот материал мы с 
вами уже 
рассматривали в части I книги. Повторю лишь основное. 
Немного теории 
Итак, Cookie — это именованная порция (довольно небольшая) информации, которая 
может сохраняться прямо в настройках браузера пользователя между сеансами. При- 

чина, по которой применяются Cookies — большое количество посетителей вашего 
сервера, а также нежелание иметь нечто подобное базе данных для хранения инфор- 

мации о каждом посетителе. Поиск в такой базе может очень и очень затянуться 
(на- 
пример, при цифре миллион гостей в день он будет отнимать львиную долю време- 
ни), и, в то же время, нет никакого смысла централизованно хранить столь 
отрывочные сведения. Использование Cookies фактически перекладывает задачу на 
плечи браузера, решая одним махом как проблему быстродействия, так и проблему 
большого объема базы данных с информацией о пользователе. 
Самый распространенный пример применения Cookies — логин и пароль пользовате- 
ля, использующего некоторые защищенные ресурсы вашего сайта. Эти данные, ко- 
нечно же, между открытиями страниц хранятся в Cookies, для того чтобы 
пользовате- 
лю не пришлось их каждый раз набирать вручную заново. 
У каждого Cookie есть определенное время жизни, по истечение которого он 
автома- 
тически уничтожается. Существуют также Cookies, которые "живут" только в 
течение 
текущего сеанса работы с браузером (это могут быть, например, имя и пароль, 
вве- 
денные при авторизации), или же идентификатор сессии (см. главу 25). 
Каждый Cookie устанавливается сценарием на сервере. Для этого он должен послать 

браузеру специальный заголовок вида: 
Set-cookie: данные 
Однако в PHP этот процесс скрыт за функцией SetCookie(), которую мы сейчас 
рассмотрим, так что нам нет смысла вдаваться в детали. 
Пожалуй, из теории осталось только добавить, что сценарии с других серверов, а 
также расположенные в другом каталоге, не будут извещены о "чужих" Cookies. Для 

них их как словно и нет. И это правильно с точки зрения безопасности — кто 
знает, 
насколько секретна может быть информация, сохраненная в Cookies? А вдруг там 
хранится номер кредитной карточки или пароль доступа к Пентагону?.. 

Часть IV. Стандартные функции PHP 292 
Установка Cookie 
Перейдем теперь к тому, как устанавливать Cookies. Так как Cookie фактически 
пред- 
ставляет собой обычный заголовок, сделать это можно только перед первой 
командой 
вывода в сценарии. 
int setcookie(string $name [,string $value] [,int $expire] 
[,string $path] [,string $domain] [,book $secure]) 
Вызов SetCookie() определяет новый Cookie, который тут же посылается браузеру 
вместе с остальными заголовками. Все аргументы, кроме имени, необязательны. 
Если 
задан только параметр $name (имя Cookie), то Cookie с указанным именем у 
пользо- 
вателя удаляется. Вы можете пропускать аргументы, которые не хотите задавать, 
пус- 
тыми строками "". Аргументы $expire и $secure, как мы видим, не могут быть 
представле
 
<<-[Весь Текст]
Страница: из 287
 <<-