Иллюстрированный самоучитель по PHP

Cookies

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

Установив cookie на одной из страниц сайта (подробнее о cookies рассказывалось в Главе 8), вы можете использовать записанные в него переменные на всех остальных страницах сайта (расположенные на том же Интернет-узле – т. е. с тем же доменным именем).

При установке cookie ему дается определенное имя. Впоследствии сценариям на всех страницах этого Интернет-узла браузер посетителя передает при заходе на них переменную, одноименную с этим cookie и содержащую записанные в cookie данные (если в файле php.ini установлен в on параметр register_globals). Кроме того, сценарии на РНР могут получать данные cookie из массива $HTTP_COOKIE_VARS [ 'имя cookie '], а в РНР версий 4.1 и выше – еще и из массива $_СООКIЕ [' имя переменной' ] (если в файле php.ini установлен в on параметр track_vars).

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

Одновременно можно устанавливать как один, так и несколько cookies.

Данный способ подойдет тогда, когда данные, введенные на одной странице, могут потребоваться на прямо не связанной с ней другой. Ограничения же связаны с особенностями cookie: количество информации в cookie не может превышать 4 килобайта, cookie может похитить с компьютера посетителя любой, кто за него сядет. Кроме того, некоторые пользователи Интернета отключают cookie при путешествиях по Сети, что не дает возможности использовать данный способ абсолютно для всех посетителей.

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.