Класс 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
-
Cake\Controller\Component\CsrfComponent
Подробное описание методов
_setCookiesource protected
_setCookie( Cake\Network\Request $request , Cake\Network\Response $response )
Установить cookie в ответе.
Также устанавливает request->params['_csrfToken'], чтобы новый токен был доступен в данных запроса.
Параметры
-
Cake\Network\Request$request - Объект запроса.
-
Cake\Network\Response$response - Объект ответа.
_validateTokensource protected
_validateToken( Cake\Network\Request $request )
Проверить данные запроса на соответствие токену cookie.
Параметры
-
Cake\Network\Request$request - Запрос для проверки.
Исключения
Cake\Network\Exception\InvalidCsrfTokenExceptionпри некорректном или отсутствующем токене CSRF.
implementedEventssource public
implementedEvents( )
Поддерживаемые события этого компонента.
Возвращаемое значение
arrayмассив
Переопределяет
Cake\Controller\Component::implementedEvents() startupsource public
startup( Cake\Event\Event $event )
Обработчик запуска.
Проверяет токен CSRF для данных POST. Если запрос GET, и значение cookie отсутствует, cookie будет установлено.
После установки cookie он копируется в request->params['_csrfToken'], чтобы код приложения и фреймворка мог легко получить доступ к токену csrf.
Запросы RequestAction не проверяются и не будут устанавливать cookie, если оно отсутствует.
Параметры
-
Cake\Event\Event$event - Объект события.
Методы унаследованные от Cake\Controller\Component
__constructsource public
__construct( Cake\Controller\ComponentRegistry $registry , array $config [] )
Конструктор
Параметры
-
Cake\Controller\ComponentRegistry$registry - ComponentRegistry, который может использовать этот компонент для ленивой загрузки своих компонентов
- массив
$configнеобязательно [] - Массив параметров конфигурации.
__debugInfosource public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращаемое значение
arrayмассив
__getsource public
__get( string $name )
Магический метод для ленивой загрузки $components.
Параметры
- строка
$name - Имя компонента для получения.
Возвращаемое значение
mixedОбъект Component или null.
initializesource public
initialize( array $config )
Метод обработки конструктора.
Реализуйте этот метод, чтобы избежать необходимости перезаписывать конструктор и вызывать родительский.
Параметры
- массив
$config - Параметры конфигурации, предоставленные для этого компонента.
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDeletesource protected
_configDelete( string $key )
Удалить единственный ключ конфигурации
Параметры
- строка
$key - Ключ для удаления.
Исключения
Cake\Core\Exception\Exceptionпри попытке перезаписи существующей конфигурации
_configReadsource protected
_configRead( string|null $key )
Чтение переменной конфигурации
Параметры
- строка|null
$key - Ключ для чтения.
Возвращаемое значение
mixedсмешанный тип
_configWritesource protected
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Записать переменную конфигурации
Параметры
- строка|массив
$key - Ключ для записи.
- смешанный тип
$value - Значение для записи.
- boolean|строка
$mergeнеобязательно false - True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Исключения
Cake\Core\Exception\Exceptionпри попытке перезаписи существующей конфигурации
configsource public
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']);
Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки или полный массив конфигураций.
- смешанный тип|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно true - Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию true.
Возвращаемое значение
mixedЗначение конфигурации для чтения или сам объект при операциях записи.
Исключения
Cake\Core\Exception\ExceptionПри попытке установить некорректный ключ.
configShallowsource public
configShallow( string|array $key , mixed|null $value null )
Объединить предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Установка определенного значения:
$this->config('key', $value);
Установка вложенного значения:
$this->config('some.nested.key', $value);
Обновление нескольких настроек конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив конфигураций.
- смешанный тип|null
$valueнеобязательно null - Значение для установки.
Возвращаемое значение
mixedСам объект $this.
Методы, используемые из Cake\Log\LogTrait
logsource 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Результат успешной записи в журнал.
Краткое описание свойств
Унаследованные свойства от Cake\Controller\Component
$_componentMapsource
protected array
Таблица поиска компонентов, используемая для ленивой загрузки объектов компонентов.
[]
$_registrysource
protected Cake\Controller\ComponentRegistry
Класс реестра компонентов, используемый для ленивой загрузки компонентов.
Используемые свойства из Cake\Core\InstanceConfigTrait
$_configInitializedsource
protected boolean
Настройка свойства конфигурации значениями по умолчанию
false
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Controller.Component.CsrfComponent.html