Класс EncryptedCookieMiddleware
Средство для шифрования и дешифрования куки.
Этот слой middleware будет шифровать/дешифровать именованные куки с заданным ключом и типом шифра. Для поддержки нескольких ключей/типов шифра используйте этот middleware несколько раз.
Куки в данных запроса будут дешифроваться, а куки в заголовках ответа будут автоматически шифроваться. Если ответ является объектом 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 - Следующий middleware для вызова.
Возвращает
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 - Значения для расшифровки
- строка|boolean
$mode - Режим шифрования
- строка|null
$keyопционально null - Используется в качестве защитного соли, если указано.
Возвращает
строка|массивРасшифрованные значения
_encrypt()source protected
_encrypt( string $value , string|boolean $encrypt , string|null $key = null )
Шифрует $value с помощью метода public $type в классе Security
Параметры
- строка
$value - Значение для шифрования
- строка|boolean
$encrypt Используемый режим шифрования. False отключает шифрование.
- строка|null
$keyопционально null - Используется в качестве защитного соли, если указано.
Возвращает
строкаЗакодированные значения
_explode()source protected
_explode( string $string )
Метод explode для возврата массива из строки, установленной в CookieComponent::_implode(). Поддерживает чтение в обратном порядке обратной совместимости с CookieComponent::_implode() версии 1.x.
Параметры
- строка
$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.8/class-Cake.Http.Middleware.EncryptedCookieMiddleware.html