Класс EncryptedCookieMiddleware
Средства для шифрования и дешифрования куки.
Этот уровень среды выполнит шифрование/дешифрование указанных куки с заданным ключом и типом шифра. Для поддержки нескольких ключей/типов шифрования используйте этот обработчик несколько раз.
Куки в данных запроса будут дешифрованы, а куки в заголовках ответа будут зашифрованы автоматически. Если ответ является {@link \Cake\Http\Response}, данные куки, установленные с withCookie() и `cookie()`, также будут зашифрованы.
Типы шифрования и заполнение совместимы с теми, которые используются CookieComponent для обратной совместимости.
Краткое описание свойств
- $_validCiphers protected
array<string>Допустимые имена шифров для зашифрованных куки.
- $cipherType protected
stringТип шифрования.
- $cookieNames protected
array<string>Список куки для шифрования/дешифрования
- $key protected
stringКлюч шифрования для использования.
Краткое описание методов
-
__construct() public
Конструктор
-
_checkCipher() protected
Вспомогательный метод для проверки имён шифров шифрования.
-
_decode() protected
Декодирует и расшифровывает одно значение.
-
_decrypt() protected
Расшифровывает $value с помощью метода public $type в классе Security
-
_encrypt() protected
Шифрует $value с помощью метода public $type в классе Security
-
_explode() protected
Метод explode для возвращения массива из строки, установленной в CookieComponent::_implode() Сохраняет обратную совместимость чтения с 1.x CookieComponent::_implode().
-
_getCookieEncryptionKey() protected
Получение ключа шифрования cookie.
-
_implode() protected
Метод implode для сохранения ключей в многомерных массивах
-
decodeCookies() protected
Декодирование cookie из запроса.
-
encodeCookies() protected
Кодирование cookie из CookieCollection ответа.
-
encodeSetCookieHeader() protected
Кодирование cookie из заголовка Set-Cookie ответа.
-
process() public
Применение шифрования/дешифрования cookie.
Подробное описание методов
__construct() public
__construct(array<string> $cookieNames, string $key, string $cipherType = 'aes')
Конструктор
Параметры
-
array<string>$cookieNames Список имён cookie, значения которых должны быть зашифрованы.
-
string$key Ключ шифрования, который нужно использовать.
-
string$cipherType optional Тип шифра, который нужно использовать. По умолчанию 'aes'.
_checkCipher() protected
_checkCipher(string $encrypt): void
Вспомогательный метод для проверки имён шифров шифрования.
Параметры
-
string$encrypt Имя шифра.
Возвращаемое значение
voidИсключения
RuntimeExceptionПри предоставлении недопустимого шифра.
_decode() protected
_decode(string $value, string|false $encrypt, string|null $key): array|string
Декодирует и расшифровывает одно значение.
Параметры
-
string$value Значение для декодирования и расшифровки.
-
string|false$encrypt Шифр шифрования, который нужно использовать.
-
string|null$key Используется в качестве соли безопасности, если указано.
Возвращаемое значение
array|string_decrypt() protected
_decrypt(array<string>|string $values, string|false $mode, string|null $key = null): array|string
Расшифровывает $value с помощью метода public $type в классе Security
Параметры
-
array<string>|string$values Значения для расшифровки
-
string|false$mode Режим шифрования
-
string|null$key optional Используется в качестве соли безопасности, если указано.
Возвращаемое значение
array|string_encrypt() protected
_encrypt(array|string $value, string|false $encrypt, string|null $key = null): string
Шифрует $value с помощью метода public $type в классе Security
Параметры
-
array|string$value Значение для шифрования
-
string|false$encrypt Режим шифрования для использования. False отключает шифрование.
-
string|null$key optional Используется в качестве соли безопасности, если указано.
Возвращаемое значение
string_explode() protected
_explode(string $string): array|string
Метод explode для возвращения массива из строки, установленной в CookieComponent::_implode() Сохраняет обратную совместимость чтения с 1.x CookieComponent::_implode().
Параметры
-
string$string Строка, содержащая закодированные в JSON данные или просто строка.
Возвращаемое значение
array|string_getCookieEncryptionKey() protected
_getCookieEncryptionKey(): string
Получение ключа шифрования cookie.
Часть реализации CookieCryptTrait.
Возвращаемое значение
string_implode() protected
_implode(array $array): string
Метод implode для сохранения ключей в многомерных массивах
Параметры
-
array$array Карта ключей и значений
Возвращаемое значение
stringdecodeCookies() protected
decodeCookies(Psr\Http\Message\ServerRequestInterface $request): Psr\Http\Message\ServerRequestInterface
Декодирование cookie из запроса.
Параметры
-
Psr\Http\Message\ServerRequestInterface$request Запрос, из которого необходимо декодировать cookie.
Возвращаемое значение
Psr\Http\Message\ServerRequestInterfaceencodeCookies() protected
encodeCookies(Cake\Http\Response $response): Cake\Http\Response
Кодирование cookie из CookieCollection ответа.
Параметры
-
Cake\Http\Response$response Ответ, в котором нужно закодировать cookie.
Возвращаемое значение
Cake\Http\ResponseencodeSetCookieHeader() protected
encodeSetCookieHeader(Psr\Http\Message\ResponseInterface $response): Psr\Http\Message\ResponseInterface
Кодирование cookie из заголовка Set-Cookie ответа
Параметры
-
Psr\Http\Message\ResponseInterface$response Ответ, в котором нужно закодировать cookie.
Возвращаемое значение
Psr\Http\Message\ResponseInterfaceprocess() public
process(ServerRequestInterface $request, RequestHandlerInterface $handler): Psr\Http\Message\ResponseInterface
Применение шифрования/дешифрования cookie.
Обрабатывает входящий серверный запрос для получения ответа. Если не удается получить сам ответ, может делегировать это заданному обработчику запросов.
Параметры
-
ServerRequestInterface$request Запрос.
-
RequestHandlerInterface$handler Обработчик запросов.
Возвращаемое значение
Psr\Http\Message\ResponseInterfaceПодробное описание свойств
$_validCiphers protected
Допустимые имена шифров для зашифрованных cookie.
Тип
array<string>$cipherType protected
Тип шифрования.
Тип
string$cookieNames protected
Список cookie для шифрования/расшифровки
Тип
array<string>$key protected
Ключ шифрования для использования.
Тип
string
© 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/4.3/class-Cake.Http.Middleware.EncryptedCookieMiddleware.html