Spec-Zone.ru › CakePHP 3.7

Класс CsrfComponent

Обеспечивает защиту и проверку CSRF.

Этот компонент добавляет токен CSRF в cookie. Значение cookie сравнивается с данными запроса или с заголовком X-CSRF-Token при каждом запросе PATCH, POST, PUT или DELETE.

Если данные запроса отсутствуют или не совпадают с данными cookie, будет вызвано исключение InvalidCsrfTokenException.

Этот компонент автоматически интегрируется с FormHelper, и при совместном использовании ваши формы будут автоматически иметь токены CSRF, когда $this->Form->create(...) используется в представлении.

Cake\Controller\Component implements Cake\Event\EventListenerInterface uses Cake\Core\InstanceConfigTrait , Cake\Log\LogTrait
Extended by Cake\Controller\Component\CsrfComponent
Пространство имен: Cake\Controller\Component
Устарело: 3.5.0 Используйте Cake\Http\Middleware\CsrfProtectionMiddleware вместо этого.
Расположение: Controller/Component/CsrfComponent.php

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

  • $_defaultConfig protected
    array
    Значения по умолчанию для обработки CSRF.

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

  • _componentMap, _registry, components, request, response _config, _configInitialized

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

  • _setCookie() protected deprecated
    Установка cookie в ответе.
  • _validateToken() protected deprecated
    Проверка данных запроса на соответствие токену cookie.
  • implementedEvents() public deprecated
    Поддерживаемые события этого компонента.
  • initialize() public deprecated
    Предупреждение, если CsrfComponent используется вместе с CsrfProtectionMiddleware
  • startup() public deprecated
    Обработчик запуска.

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

_setCookie()source protected deprecated

_setCookie( Cake\Http\ServerRequest $request , Cake\Http\Response $response )

Установка cookie в ответе.

Также устанавливает request->params['_csrfToken'], чтобы новый токен был доступен в данных запроса.

Параметры

Cake\Http\ServerRequest $request
Объект запроса.
Cake\Http\Response $response
Объект ответа.

Возвращает

массив
Массив изменённых запроса и ответа.

_validateToken()source protected deprecated

_validateToken( Cake\Http\ServerRequest $request )

Проверка данных запроса на соответствие токену cookie.

Параметры

Cake\Http\ServerRequest $request
Запрос для проверки.

Выбрасывает

Cake\Http\Exception\InvalidCsrfTokenException
если токен CSRF неверен или отсутствует.

implementedEvents()source public deprecated

implementedEvents( )

Поддерживаемые события этого компонента.

Возвращает

массив

Переопределяет

Cake\Controller\Component::implementedEvents()

initialize()source public deprecated

initialize( array $config )

Предупреждение, если CsrfComponent используется вместе с CsrfProtectionMiddleware

Параметры

массив $config
Данные конфигурации.

Переопределяет

Cake\Controller\Component::initialize()

startup()source public deprecated

startup( Cake\Event\Event $event )

Обработчик запуска.

Проверяет токен CSRF для данных POST. Если запрос GET, а значение cookie отсутствует, cookie будет установлено.

После установки cookie он копируется в request->getParam('_csrfToken'), чтобы код приложения и фреймворка мог легко получить доступ к токену csrf.

Запросы RequestAction не проверяются и не устанавливают cookie, если оно отсутствует.

Параметры

Cake\Event\Event $event
Экземпляр события.

Методы, унаследованные от Cake\Controller\Component

__construct()source public

__construct( Cake\Controller\ComponentRegistry $registry , array $config = [] )

Конструктор

Параметры

Cake\Controller\ComponentRegistry $registry
ComponentRegistry, который может использовать этот компонент для ленивой загрузки компонентов
массив $config необязательно []
Массив настроек конфигурации.

__debugInfo()source public

__debugInfo( )

Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.

Возвращает

массив

__get()source public

__get( string $name )

Магический метод для ленивой загрузки $components.

Параметры

строка $name
Имя компонента для получения.

Возвращает

смешанный
Объект компонента или null.

getController()source public

getController( )

Получение контроллера, к которому привязан этот компонент.

Возвращает

Cake\Controller\Controller
Связанный контроллер.

Методы, используемые из Cake\Core\InstanceConfigTrait

_configDelete()source protected

_configDelete( string $key )

Удаление одного ключа конфигурации.

Параметры

строка $key
Ключ для удаления.

Выбрасывает

Cake\Core\Exception\Exception
если попытка перезаписать существующую конфигурацию

_configRead()source protected

_configRead( string|null $key )

Чтение ключа конфигурации.

Параметры

строка|null $key
Ключ для чтения.

Возвращает

смешанный

_configWrite()source protected

_configWrite( string|array $key , mixed $value , boolean|string $merge = false )

Запись ключа конфигурации.

Параметры

строка|массив $key
Ключ для записи.
смешанный $value
Значение для записи.
boolean|строка $merge необязательно false

True для рекурсивной склейки, 'shallow' для простой склейки, false для перезаписи, по умолчанию false.

Выбрасывает

Cake\Core\Exception\Exception
если попытка перезаписи существующей конфигурации

config()source public deprecated

config( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )

Получает/устанавливает конфигурацию.

Использование

Чтение всей конфигурации:

$this->config();

Чтение определенного значения:

$this->config('key');

Чтение вложенного значения:

$this->config('some.nested.key');

Установка определенного значения:

$this->config('key', $value);

Установка вложенного значения:

$this->config('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->config(['one' => 'value', 'another' => 'value']);

Параметры

string|array|null $key опционально null
Ключ для получения/установки или массив конфигураций.
mixed|null $value опционально null
Значение для установки.
boolean $merge опционально true
Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию true.

Возвращает

mixed
Значение конфигурации для чтения, или сам объект при операциях записи.

Исключения

Cake\Core\Exception\Exception
При попытке установить неверный ключ.

configShallow()source public

configShallow( string|array $key , mixed|null $value = null )

Объединяет предоставленную конфигурацию с существующей. В отличие от config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.

Установка определенного значения:

$this->configShallow('key', $value);

Установка вложенного значения:

$this->configShallow('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->configShallow(['one' => 'value', 'another' => 'value']);

Параметры

string|array $key
Ключ для установки или массив конфигураций.
mixed|null $value опционально null
Значение для установки.

Возвращает


$this

getConfig()source public

getConfig( string|null $key = null , mixed $default = null )

Возвращает конфигурацию.

Использование

Чтение всей конфигурации:

$this->getConfig();

Чтение определенного значения:

$this->getConfig('key');

Чтение вложенного значения:

$this->getConfig('some.nested.key');

Чтение со значением по умолчанию:

$this->getConfig('some-key', 'default-value');

Параметры

string|null $key опционально null
Ключ для получения или null для всей конфигурации.
mixed $default опционально null
Значение по умолчанию, если ключ не найден.

Возвращает

mixed
Значение конфигурации для чтения.

setConfig()source public

setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )

Устанавливает конфигурацию.

Использование

Установка определенного значения:

$this->setConfig('key', $value);

Установка вложенного значения:

$this->setConfig('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->setConfig(['one' => 'value', 'another' => 'value']);

Параметры

string|array $key
Ключ для установки или массив конфигураций.
mixed|null $value опционально null
Значение для установки.
boolean $merge опционально true
Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию true.

Возвращает


$this

Исключения

Cake\Core\Exception\Exception
При попытке установить неверный ключ.

Методы из Cake\Log\LogTrait

log()source public

log( mixed $msg , integer|string $level = LogLevel::ERROR , string|array $context = [] )

Удобный метод для записи сообщения в журнал. Для получения дополнительной информации о записи в журналы см. Log::write().

Параметры

mixed $msg
Сообщение для записи в журнал.
integer|string $level опционально LogLevel::ERROR
Уровень ошибки.
string|array $context опционально []
Дополнительные данные журнала, относящиеся к этому сообщению.

Возвращает

boolean
Результат записи в журнал.

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

$_defaultConfigsource

protected array

Конфигурация по умолчанию для обработки CSRF.

  • cookieName = Имя cookie для отправки.
    • expiry = Срок действия токена CSRF. По умолчанию — сессия браузера.
    • secure = Указывает, будет ли устанавливаться cookie со флагом Secure. По умолчанию — false.
    • httpOnly = Указывает, будет ли устанавливаться cookie со флагом HttpOnly. По умолчанию — false.
    • field = Поле формы для проверки. Изменение этого значения также потребует настройки FormHelper.
[
    'cookieName' => 'csrfToken',
    'expiry' => 0,
    'secure' => false,
    'httpOnly' => false,
    'field' => '_csrfToken',
]

© 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.7/class-Cake.Controller.Component.CsrfComponent.html

Spec-Zone.ru

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