Класс 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 Используемый режим шифрования. Ложь отключает шифрование.
- строка|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-закодированная строка.
Подробное описание свойств
END_OF_DOCUMENT_MARKER
© 2005–present 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.6/class-Cake.Http.Middleware.EncryptedCookieMiddleware.html