Чтение и запись cookies на jQuery & PHP

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

Но эта простота и является также одной из причин его широкого внедрения в Интернете.

Однако, существует способ сохранять информацию между запросами в виде cookies. Таким образом, у вас появится эффективное управление сессиями и данными.

Есть два способа работы с cookies – на стороне сервера (PHP, ASP и т.д.) и на стороне клиента (JavaScript).

В этой статье мы рассмотрим, как можно управлять cookies с помощью PHP и JavaScript.

 

Cookies и PHP

Запись cookies

Чтобы создать cookie в PHP, вы должны использовать функцию setcookie. Она принимает ряд параметров (все, кроме первого, являются необязательными и могут быть опущены):

Если вы передаете 0, как срок действия (по умолчанию), cookie будет потерян при перезагрузке браузера. Параметр “/” указывает, что cookie будет доступен для всех директорий домена (при желании, можно связать cookie с одним каталогом, например с /admin/ в качестве параметра).

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

Первый означает, что cookie будет передан только через защищенное соединение HTTPS, а второй, что cookie не будет доступен через JavaScript (введено в PHP 5.2).

Для большинства практических целей, вам потребуются только первые четыре параметра, остальные можно пропустить.

Чтение cookies

Чтение cookie с помощью PHP намного проще. Все cookies, которые были переданы скрипту, доступны в суперглобальном массиве $_COOKIE.

В нашем примере, чтобы прочитать cookie, мы написали следующий код:

Стоит отметить, что запись cookies через setcookie доступна в массиве $ _COOKIE на next page load.
Запомните это.

Удаление cookies

Чтобы удалить cookies, просто используйте функцию setcookie с параметром срока действия прошедшего времени.

Cookies и jQuery

Чтобы использовать cookies с jQuery, вам необходим специальный .

Запись cookies

Запись cookies с плагином Cookie интуитивно понятна:

Чтение cookies

Чтение cookie еще проще. Просто вызовите функцию $.cookie() с параметром имени, значение cookie будет возвращено:

Удаление cookies

Чтобы удалить куки, снова используйте функцию $.cookie(), но в качестве второго параметра укажите значение null.

Заключение

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

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


4 комментарий на “Чтение и запись cookies на jQuery & PHP

  1. Нужно удалить куки с сайта, но есть одна загвоздка

    Находясь на сайте site.ru нужно удалить куки которые записаны в как это сделать?

    если с текущего то просто

    $.cookie («avtor», null);

    а как же удалить куки с директории? как уточнить откуда удалять???

    Как же реализовать?

  2. Сергей, вы кажется не поняли, где именно хранятся куки. Они хранятся на стороне клиента, просто в самом куки прописано, где он должен действовать. Так что $.cookie («avtor», null); вполне применяем.

    • Если поставить куку на site.ru/dir1 $.cookie («avtor», 'значение');

      то удалить ее с помощью $.cookie («avtor», null); со страницы site.ru/dir2 не получатся!

      если поставить {path:'/'}, — то ее не видно на site.ru/dir2

      что нужно сделать, как ее удалить с другого урла ?

Оставить комментарий