😎 » PHP - FAQ » Основы PHP8 » Cookies в PHP
223 0  

Cookies в PHP

Cookies часто используются для идентификации пользователя. Cookie это небольшой файл, который сервер встраивает на компьютере пользователя. Каждый раз, когда один и тот же компьютер запрашивает страницу через браузер, он также отправляет cookie. С помощью PHP, вы можете как создавать, так и получать значения cookie.

cookie создается с помощью функции setcookie():

setcookie(name, value, expire, path, domain, secure, httponly);

name: Определяет имя cookie

Параметр name является единственным обязательным параметром. Все остальные параметры являются опциональными.

value: Определяет значение cookie

expire: Определяет, когда время действительности (в секундах) cookie истекает. Значение: time()+86400*30, установит, чтобы cookie истекали по истечении 30 дней. Если параметр опущен, или установлен на 0, то cookie истечет по окончании сессии (при закрытии браузера). По умолчанию значение равно 0.

path: Определяет путь cookie на сервере. Если установлено значение "/", то cookie будут доступны в пределах всей области. Если установлено на "/php/", то cookie будет доступно только внутри php директории и во всех под-директориях. Значением по умолчанию является текущая директория, в которой установлено cookie.

domain: Определяет имя домена cookie. Чтобы сделать cookie доступными на всех поддоменах example.com, установите домен на "example.com".

secure: Определяет, передается ли cookie по защищенному HTTPS соединению. TRUE означает, что cookie будет установлено, только если существует защищенное соединение. Значением по умолчанию является FALSE.

httponly: Если установлено на TRUE, то cookie будут доступны только по HTTP протоколу (cookie не будут доступны для скриптовых языков). Использование httponly помогает уменьшить риск кражи личных данных с помощью XSS атак. Значением по умолчанию является FALSE.



Пример ниже создает cookie "user" со значением "John". Cookie истечет через 30 дней, что записано как 86,400 * 30, где 86,400 секунд = один день. '/' означает, что cookie доступно на всем вебсайте.

Затем мы получаем значение cookie "user" (используя глобальную переменную $_COOKIE). Мы также используем функцию isset() для выяснения, установлено ли cookie:

<?php
$value = "John";
setcookie("user", $value, time() + (86400 * 30), '/'); 
if(isset($_COOKIE['user'])) {
  echo "Value is: ". $_COOKIE['user'];
}
//Outputs "Value is: John"
?>

Функция setcookie() должна появиться ДО тега <html>.


Значение cookie автоматически кодируется при его отправке, и автоматически декодируется при получении.

Тем не менее, НИКОГДА не храните важную информацию в cookie. feel


Залишити свій коментар:

Досвід у веброзробці:

2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2009
2023