Файлы cookie, также известные как файлы cookie браузера, представляют собой небольшие текстовые файлы, хранящиеся в браузере. Сохраняет всю информацию, связанную с идентификацией пользователя. Эта информация используется для проверки пользователей, когда они просматривают разные страницы.
Есть два разных типа файлов cookie —
-
Сеансовые cookie-файлы. Эти типы cookie-файлов остаются в браузере и сохраняют информацию до тех пор, пока браузер не будет закрыт. Как только браузер откроется, он будет рассматриваться как новый сеанс для того же пользователя.
-
Постоянные файлы cookie — они включают в себя установленную продолжительность жизни и остаются в браузере в течение заданной продолжительности жизни. Те веб-сайты, которые используют постоянные файлы cookie, отслеживают каждого пользователя, даже если браузер закрыт пользователем.
Сеансовые cookie-файлы. Эти типы cookie-файлов остаются в браузере и сохраняют информацию до тех пор, пока браузер не будет закрыт. Как только браузер откроется, он будет рассматриваться как новый сеанс для того же пользователя.
Постоянные файлы cookie — они включают в себя установленную продолжительность жизни и остаются в браузере в течение заданной продолжительности жизни. Те веб-сайты, которые используют постоянные файлы cookie, отслеживают каждого пользователя, даже если браузер закрыт пользователем.
Давайте теперь обсудим, как куки работают в Phalcon.
Печенье в Фальконе
Phalcon использует Phalcon \ Http \ Response \ Cookies в качестве глобального хранилища для файлов cookie. Файлы cookie хранятся в Phalcon при отправке запроса на сервер.
Ниже приведен синтаксис для настройки Cookie —
$this->cookies->set( "<cookie-name>", "<cookie-value>", time );
Рассмотрим следующий пример. Используя следующий код, мы создадим куки пользователя, когда пользователь войдет в веб-приложение.
<?php class UsersController extends \Phalcon\Mvc\Controller { public function indexAction() { if ($this->cookies->has("login-action")) { // Get the cookie $loginCookie = $this->cookies->get("login-action"); // Get the cookie's value $value = $loginCookie->getValue(); echo($value); } $this->cookies->set( "login-action", "abc", time() + 15 * 86400 ); } }
Зашифрованные куки будут отображаться как выходные данные.
Описание
Файл cookie с именем «loginAction» был создан со значением «abc» .
Метод indexAction проверяет, существует ли cookie, и печатает значение соответствующим образом.
Шифрование файлов cookie
Файлы cookie в Phalcon шифруются перед отправкой на сервер в качестве запроса и расшифровываются, как только мы получаем соответствующий ответ от сервера. Это обеспечивает безопасность авторизованных пользователей.
Всегда рекомендуется избегать хранения конфиденциальных данных в файлах cookie, несмотря на функции шифрования и дешифрования. Конфигурация для шифрования файлов cookie включена в файл services.php .
/** * Enable encryption key for setting values of cookies */ $di->set( "cookies", function () { $cookies = new Cookies(); $cookies->useEncryption(false); return $cookies; } ); /** * Set encryption key */ $di->set( "crypt", function () { $crypt = new Crypt(); $crypt->setKey('AED@!sft56$'); // Use a unique Key! return $crypt; } );
Примечание —
Всегда рекомендуется использовать шифрование при отправке куки на сервер.
Если шифрование не используется, все внутреннее приложение будет открыто для злоумышленника.
Также рекомендуется хранить небольшие данные и литералы в куки.