Spec-Zone.ru › CakePHP 3.8

Класс EncryptedCookieMiddleware

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

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

Куки в данных запроса будут дешифроваться, а куки в заголовках ответа будут автоматически шифроваться. Если ответ является объектом 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
Следующий 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.

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

$cipherTypesource

protected строка

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

END_OF_DOCUMENT_MARKER

$cookieNamessource

protected array

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

$keysource

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/3.8/class-Cake.Http.Middleware.EncryptedCookieMiddleware.html

Spec-Zone.ru

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