COOKIES

setcookie – устанавливает куку

setcookie('petya','hacker');

$_COOKIE["cookie_name"] – позволяет считать куку с именем cookie_name

Теперь подробнее

bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path[, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

name – имя куки

value - значение куки, которое мы получим через $_COOKIE

expire – срок жизни куки. Если не указываем, или ставим 0, то кука живет до закрытия браузера, если же хотим установить куку на 30 дней – ставим time()+60*60*24*30 (time нам вернет текущее количество секунд от создания UNIX. Мы добавляем количество секунд в 30-ти днях )

path - как правило мы выставляем куку для всего сайта. Для этого ставим ‘/’
Если хотим, чтобы она работала в какой-то под директории, то ставим ‘/sub’

domain – выставляем имя домена сайта. С главного домена, можно устанавливать куки на под домен, но с поддомена нельзя установить куку на сайт

secure – флаг, который говорит о том, что кука будет передаваться только по https соединению

httponly –кука доступна только по протоколу http . То есть JavaScript внедренный на Ваш сайт, не сможет ее украсть.

Просмотр списка COOKIE в браузере

Общий размер COOKIES для сайта <4kb

Удаление куки происходит через установку ее в прошлое time() – 1000000 . Также не мешает установить в качестве ее значения пустую строку

Практика:

  1. Установить куку, проверить в браузере
  2. Установить куку, проверить установку скриптом
  3. Сделать скрипт, который считает количество своих загрузок у пользователя
  4. Есть прямоугольник. Сделать так, чтобы при каждой загрузке он менял цвет с первого на второй, со второго на первый(мигалка). Используем механизм COOKIES.
  5. Cерый прямоугольник, три цветных квадрата. При клике на цветной квадрат серый блок приобретает его цвет. Добиться, чтобы в отстуствии GET-параметров серый блок принимал последний используемый цвет.
  6. Сделать проверку логина пароля
  7. Сделать флаг запомнить меня
  8. Сделать разлогинивание

results matching ""

    No results matching ""