Spec-Zone.ru › CakePHP 3.6

Класс EncryptedCookieMiddleware

Средства для шифрования и дешифрования куки.

Этот уровень среды будет шифровать/дешифровать именованные куки с заданным ключом и типом шифра. Для поддержки нескольких ключей/типов шифра используйте этот посредник несколько раз.

Куки в данных запроса будут дешифрованы, а куки в заголовках ответа будут автоматически зашифрованы. Если ответ является Cake\Http\Response, данные куки, установленные с withCookie() и `cookie()`, также будут зашифрованы.

Типы шифрования и дополнения совместимы с теми, которые используются CookieComponent для обратной совместимости.

Cake\Http\Middleware\EncryptedCookieMiddleware использует Cake\Utility\CookieCryptTrait
Пространство имён: Cake\Http\Middleware
Расположение: Http/Middleware/EncryptedCookieMiddleware.php

Краткое описание свойств

  • $cipherType protected
    string
    Тип шифрования.
  • $cookieNames protected
    array
    Список куки для шифрования/дешифрования
  • $key protected
    string
    Ключ шифрования для использования.

Наследованные свойства

  • _validCiphers

Краткое описание методов

  • __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-закодированная строка.

Подробное описание свойств

$cipherTypesource

protected строка

Тип шифрования.

END_OF_DOCUMENT_MARKER

$cookieNamessource

protected массив

Список куки для шифрования/расшифрования

$keysource

protected строка

Ключ шифрования для использования.

© 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

Spec-Zone.ru

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