Spec-Zone.ru › Phalcon 2

Управление файлами cookie

Файлы cookie являются очень полезным способом хранения небольших фрагментов данных на клиенте, которые могут быть извлечены даже после закрытия пользователем браузера. Phalcon\Http\Response\Cookies выступает в роли глобального контейнера для файлов cookie. Файлы cookie хранятся в этом контейнере во время выполнения запроса и автоматически отправляются в конце запроса.

Базовое использование

Вы можете устанавливать/получать файлы cookie, просто обращаясь к службе «cookies» в любой части приложения, где доступны службы:

class SessionController extends Phalcon\Mvc\Controller
{
    public function loginAction()
    {
        //Check if the cookie has previously set
        if ($this->cookies->has('remember-me')) {

            //Get the cookie
            $rememberMe = $this->cookies->get('remember-me');

            //Get the cookie's value
            $value = $rememberMe->getValue();

        }
    }

    public function startAction()
    {
        $this->cookies->set('remember-me', 'some value', time() + 15 * 86400);
    }
}

Шифрование/дешифрование файлов cookie

По умолчанию файлы cookie автоматически шифруются перед отправкой клиенту и расшифровываются при получении. Эта защита предотвращает несанкционированный доступ к содержимому файлов cookie клиентом (браузером). Несмотря на эту защиту, конфиденциальные данные не должны храниться в файлах cookie.

Вы можете отключить шифрование следующим образом:

$di->set('cookies', function() {
    $cookies = new Phalcon\Http\Response\Cookies();
    $cookies->useEncryption(false);
    return $cookies;
});

В случае использования шифрования необходимо установить глобальный ключ в службе «crypt»:

$di->set('crypt', function() {
    $crypt = new Phalcon\Crypt();
    $crypt->setKey('#1dj8$=dp?.ak//j1V$'); //Use your own key!
    return $crypt;
});
Отправка данных файлов cookie без шифрования клиентам, включая сложные структуры объектов, наборы результатов, информацию о службах и т. д., может раскрыть внутренние детали приложения, которые могут быть использованы злоумышленником для атаки на приложение. Если вы не хотите использовать шифрование, мы настоятельно рекомендуем отправлять только очень простые данные файлов cookie, такие как числа или короткие строковые литералы.

© 2011–2016 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.
https://docs.phalconphp.com/en/2.0.0/reference/cookies.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API