Класс EncryptedCookieMiddleware
Средства для шифрования и дешифрования куки.
Этот промежуточный слой будет шифровать/дешифровать куки с заданным ключом и типом шифра. Для поддержки нескольких ключей/типов шифра используйте этот промежуточный слой несколько раз.
Куки в данных запроса будут дешифрованы, а куки в заголовках ответа будут зашифрованы автоматически. Если ответ — Cake\Http\Response, данные куки, установленные с withCookie() и `cookie()`, также будут зашифрованы.
Типы шифрования и заполнения совместимы с теми, которые используются CookieComponent для обратной совместимости.
- Cake\Http\Middleware\EncryptedCookieMiddleware использует Cake\Utility\CookieCryptTrait
Краткое описание свойств
-
$cipherTypeprotectedТип шифрования.string -
$cookieNamesprotectedСписок куки для шифрования/дешифрованияarray -
$keyprotectedКлюч шифрования для использования.string
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- __invoke() publicПрименение шифрования/дешифрования куки.
- _getCookieEncryptionKey() protectedПолучение ключа шифрования куки.
- decodeCookies() protectedДекодирование куки из запроса.
- encodeCookies() protectedКодирование куки из CookieCollection ответа.
- encodeSetCookieHeader() protectedКодирование куки из заголовка Set-Cookie ответа
Подробное описание методов
__construct()source public
__construct( array $cookieNames , string $key , string $cipherType 'aes' )
Конструктор
Параметры
- массив
$cookieNames - Список имён куки, значения которых должны быть зашифрованы.
- строка
$key - Ключ шифрования для использования.
- строка
$cipherTypeнеобязательный 'aes' Тип шифра для использования. По умолчанию 'aes', но также может быть 'rijndael' для обратной совместимости.
__invoke()source public
__invoke( Psr\Http\Message\ServerRequestInterface $request , Psr\Http\Message\ResponseInterface $response , callable $next )
Применение шифрования/дешифрования куки.
Параметры
- Psr\Http\Message\ServerRequestInterface
$request - Запрос.
- Psr\Http\Message\ResponseInterface
$response - Ответ.
- вызываемый
$next - Следующий промежуточный слой для вызова.
Возвращаемое значение
Psr\Http\Message\ResponseInterfaceОтвет.
_getCookieEncryptionKey()source protected
_getCookieEncryptionKey( )
Получение ключа шифрования куки.
Часть реализации CookieCryptTrait.
Возвращаемое значение
строкаdecodeCookies()source protected
decodeCookies( Psr\Http\Message\ServerRequestInterface $request )
Декодирование куки из запроса.
Параметры
- Psr\Http\Message\ServerRequestInterface
$request - Запрос для декодирования куки.
Возвращаемое значение
Psr\Http\Message\ServerRequestInterfaceОбновлённый запрос с декодированными куки.
encodeCookies()source protected
encodeCookies( Cake\Http\Response $response )
Кодирование куки из CookieCollection ответа.
Параметры
-
Cake\Http\Response$response - Ответ для кодирования куки.
Возвращаемое значение
Cake\Http\ResponseОбновлённый ответ с закодированными куки.
encodeSetCookieHeader()source protected
encodeSetCookieHeader( Psr\Http\Message\ResponseInterface $response )
Кодирование куки из заголовка Set-Cookie ответа
Параметры
- Psr\Http\Message\ResponseInterface
$response - Ответ для кодирования куки.
Возвращаемое значение
Psr\Http\Message\ResponseInterfaceОбновлённый ответ с закодированными куки.
Методы, используемые из Cake\Utility\CookieCryptTrait
_checkCipher()source protected
_checkCipher( string $encrypt )
Вспомогательный метод для проверки имён шифров шифрования.
Параметры
- строка
$encrypt - Имя шифра.
Исключения
RuntimeExceptionПри предоставлении недопустимого шифра.
_decode()source protected
_decode( string $value , string|false $encrypt , string|null $key )
Декодирует и расшифровывает одно значение.
Параметры
- строка
$value - Значение для декодирования и расшифрования.
- строка|ложь
$encrypt - Шифр шифрования для использования.
- строка|null
$key - Используется в качестве криптографической соли, если указано.
Возвращаемое значение
строка|массивДекодированные значения.
_decrypt()source protected
_decrypt( array $values , string|boolean $mode , string|null $key null )
Расшифровывает $value с использованием public $type метода в классе Security
Параметры
- массив
$values - Значения для расшифрования
- строка|логическое значение
$mode - Режим шифрования
- строка|null
$keyнеобязательный null - Используется в качестве криптографической соли, если указано.
Возвращаемое значение
строка|массивРасшифрованные значения
_encrypt()source protected
_encrypt( string $value , string|boolean $encrypt , string|null $key null )
Шифрует $value с использованием public $type метода в классе Security
Параметры
- строка
$value - Значение для шифрования
- строка|логическое значение
$encrypt Используемый режим шифрования. False отключает шифрование.
- строка|null
$keyнеобязательный null - Используется в качестве криптографической соли, если указано.
Возвращаемое значение
строкаЗакодированные значения
_explode()source protected
_explode( string $string )
Метод explode для возврата массива из строки, установленной в CookieComponent::_implode() Сохраняет обратную совместимость с чтением со стороны 1.x CookieComponent::_implode().
Параметры
- строка
$string - Строка, содержащая закодированные в формате JSON данные или обычная строка.
Возвращаемое значение
строка|массивКарта ключей и значений
_implode()source protected
_implode( array $array )
Метод implode для сохранения ключей в многомерных массивах
Параметры
- массив
$array - Карта ключей и значений
Возвращаемое значение
строкаСтрока, закодированная в формате JSON.
Подробное описание свойств
© 2005–2018 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.5/class-Cake.Http.Middleware.EncryptedCookieMiddleware.html