Spec-Zone.ru › CakePHP 3.3

Класс SecurityComponent

Компонент Security обеспечивает простой способ интеграции более строгой безопасности в ваше приложение. Он предоставляет методы для различных задач, таких как:

  • Ограничение HTTP-методов, принимаемых вашим приложением.
  • Защита от подделки форм
  • Требование использования SSL.
  • Ограничение межконтроллерной коммуникации.
Cake\Controller\Component implements Cake\Event\EventListenerInterface uses Cake\Core\InstanceConfigTrait , Cake\Log\LogTrait
Расширяется Cake\Controller\Component\SecurityComponent
Пространство имён: Cake\Controller\Component
Ссылка: http://book.cakephp.org/3.0/ru/controllers/components/security.html
Расположение: Controller/Component/SecurityComponent.php

Резюме констант

  • string

    DEFAULT_EXCEPTION_MESSAGE
    'The request has been black-holed'

Резюме свойств

  • $_action protected
    string
    Текущее действие контроллера
  • $_defaultConfig protected
    array
    Конфигурация по умолчанию
  • $request public
    Cake\Network\Request
    Объект запроса
  • $session public
    Cake\Network\Session
    Объект сессии

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

  • _componentMap, _registry, components, response _config, _configInitialized

Резюме методов

  • _authRequired() protected
    Проверка необходимости аутентификации
  • _callback() protected
    Вызов метода обратного вызова контроллера
  • _debugCheckFields() protected
    Итерирует массив данных для проверки соответствия ожидаемым значениям
  • _debugExpectedFields() protected
    Генерирует сообщение отладки для ожидаемых полей
  • _debugPostTokenNotMatching() protected
    Создаёт сообщение для пользователей, объясняющее, почему токен не соответствует ожидаемому
  • _fieldsList() protected
    Возвращает список полей для вычисления хэша
  • _hashParts() protected
    Возвращает части хэша для генерации токена
  • _matchExistingFields() protected

    Генерирует массив сообщений для существующих полей в данных POST, поля, соответствующие полям в $expectedFields, будут удалены

  • _requireMethod() protected
    Устанавливает действия, требующие HTTP-запрос $method, или пустое значение для всех действий
  • _secureRequired() protected
    Проверяет, требует ли доступ защищённое соединение
  • _sortedUnlocked() protected
    Получает отсортированную строку разблокированных элементов
  • _throwException() protected
    Проверяет статус отладки и выбрасывает исключение на основе существующего
  • _unlocked() protected
    Получает строку разблокированных элементов
  • _validToken() protected
    Проверяет, является ли токен валидным
  • _validatePost() protected
    Проверка отправленной формы
  • blackHole() public

    Отбрасывает невалидный запрос с ошибкой 400 или пользовательским обратным вызовом. Если SecurityComponent::$blackHoleCallback указан, будет использован этот обратный вызов, выполняя метод, указанный в $error

  • generateToken() public

    Вручную добавляет информацию о предотвращении подделки форм в предоставленный объект запроса.

  • implementedEvents() public
    Поддерживаемые события этим компонентом.
  • requireAuth() public
    Устанавливает действия, требующие предоставление форм с разрешением.
  • requireSecure() public
    Устанавливает действия, требующие запроса, защищенного SSL, или пустое значение для всех действий
  • startup() public
    Инициализация компонента. Все проверки безопасности происходят здесь.

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

_authRequired()source protected

_authRequired( Cake\Controller\Controller $controller )

Проверка необходимости аутентификации

Устаревшее

3.2.2 Эта функция запутанная и бесполезная.

Параметры

Cake\Controller\Controller $controller
Экземпляр контроллера

Возвращает

boolean
true, если аутентификация требуется

_callback()source protected

_callback( Cake\Controller\Controller $controller , string $method , array $params [] )

Вызов метода обратного вызова контроллера

Параметры

Cake\Controller\Controller $controller
Экземпляр контроллера
строка $method
Метод для выполнения
массив $params необязательно []
Параметры для отправки методу

Возвращает

смешанный тип
Ответ метода обратного вызова контроллера

Исключения

Cake\Network\Exception\BadRequestException
Когда blackholeCallback не вызываемый.

_debugCheckFields()source protected

_debugCheckFields( array $dataFields , array $expectedFields [] , string $intKeyMessage '' , string $stringKeyMessage '' , string $missingMessage '' )

Итерирует массив данных для проверки соответствия ожидаемым значениям

Параметры

массив $dataFields
Массив полей, содержащих данные POST
массив $expectedFields необязательно []
Массив полей, содержащих ожидаемые поля, которые должны присутствовать в POST
строка $intKeyMessage необязательно ''
Строка сообщения, если неожиданное значение найдено в индексированных целыми числами полях данных (не защищённые)
строка $stringKeyMessage необязательно ''
Строка сообщения, если обнаружена подделка в индексированных строками полях данных (защищённые)
строка $missingMessage необязательно ''
Строка сообщения, если поле отсутствует

Возвращает

массив
Сообщения

_debugExpectedFields()source protected

_debugExpectedFields( array $expectedFields [] , string $missingMessage '' )

Генерирует сообщение отладки для ожидаемых полей

Параметры

массив $expectedFields необязательно []
Ожидаемые поля
строка $missingMessage необязательно ''
Шаблон сообщения

Возвращает

строка
Сообщение об ошибке ожидаемых полей
END_OF_DOCUMENT_MARKER

_debugPostTokenNotMatching()source protected

_debugPostTokenNotMatching( Cake\Controller\Controller $controller , array $hashParts )

Создать сообщение для людей, чтобы понять, почему токен безопасности не совпадает

Параметры

Cake\Controller\Controller $controller
Инициализируемый контроллер
массив $hashParts
Элементы, используемые для генерации хеша токена

Возвращаемое значение

строка
Сообщение, объясняющее, почему токены не совпадают

_fieldsList()source protected

_fieldsList( array $check )

Возвращает список полей для вычисления хеша

Параметры

массив $check
Массив данных

Возвращаемое значение

массив

_hashParts()source protected

_hashParts( Cake\Controller\Controller $controller )

Возвращает части хеша для генерации токена

Параметры

Cake\Controller\Controller $controller
Инициализируемый контроллер

Возвращаемое значение

массив

_matchExistingFields()source protected

_matchExistingFields( array $dataFields , array $expectedFields , string $intKeyMessage , string $stringKeyMessage )

Генерирует массив сообщений для существующих полей в данных POST, поля данных, соответствующие полям в $expectedFields, будут удалены

Параметры

массив $dataFields
Массив полей, содержащий поля POST данных
массив $expectedFields
Массив полей, содержащий ожидаемые поля, которые должны быть в POST
строка $intKeyMessage
Строка сообщения, если неожиданное найдено в полях данных с индексом по целому числу (не защищено)
строка $stringKeyMessage
Строка сообщения, если обнаружены подмены в полях данных с индексом по строке (защищено)

Возвращаемое значение

массив
Сообщения об ошибках

_requireMethod()source protected

_requireMethod( string $method , array $actions [] )

Устанавливает действия, которые требуют HTTP-запрос $method, или пустое значение для всех действий

Параметры

строка $method
HTTP-метод, которому будут назначены действия контроллера
массив $actions необязательно []
Действия контроллера, для которых необходимо установить требуемый HTTP-метод.

_secureRequired()source protected

_secureRequired( Cake\Controller\Controller $controller )

Проверка, требует ли доступ защищенное соединение

Параметры

Cake\Controller\Controller $controller
Инициализируемый контроллер

Возвращаемое значение

булево
true, если требуется защищенное соединение

_sortedUnlocked()source protected

_sortedUnlocked( array $data )

Получить отсортированную строку, не заблокированную

Параметры

массив $data
Массив данных

Возвращаемое значение

строка

_throwException()source protected

_throwException( Cake\Controller\Exception\SecurityException|null $exception null )

Проверка состояния отладки и выброс исключения на основе существующего

Параметры

Cake\Controller\Exception\SecurityException|null $exception необязательно null
Дополнительная информация об отладке, описывающая причину

Выбрасывает

Cake\Network\Exception\BadRequestException

_unlocked()source protected

_unlocked( array $data )

Получить строку, не заблокированную

Параметры

массив $data
Массив данных

Возвращаемое значение

строка

_validToken()source protected

_validToken( Cake\Controller\Controller $controller )

Проверка валидности токена

Параметры

Cake\Controller\Controller $controller
Инициализируемый контроллер

Возвращаемое значение

строка
токен полей

Выбрасывает

Cake\Controller\Exception\SecurityException

_validatePost()source protected

_validatePost( Cake\Controller\Controller $controller )

Проверка отправленной формы

Параметры

Cake\Controller\Controller $controller
Инициализируемый контроллер

Возвращаемое значение

булево
true, если отправленная форма валидна

Выбрасывает

Cake\Controller\Exception\AuthSecurityException

blackHole()source public

blackHole( Cake\Controller\Controller $controller , string $error '' , Cake\Controller\Exception\SecurityException $exception null )

Отклонение недействительного запроса с ошибкой 400 или пользовательским обратным вызовом. Если SecurityComponent::$blackHoleCallback указан, он будет использовать этот обратный вызов, выполняя метод, указанный в $error

Параметры

Cake\Controller\Controller $controller
Инициализируемый контроллер
строка $error необязательно ''
Метод ошибки
Cake\Controller\Exception\SecurityException $exception необязательно null
Дополнительная информация об отладке, описывающая причину

Возвращаемое значение

смешанное
Если указано, ответ blackHoleCallback контроллера, иначе - нет возвращаемого значения

Выбрасывает

Cake\Network\Exception\BadRequestException

См. также

\Cake\Controller\Component\SecurityComponent::$blackHoleCallback

Ссылка

http://book.cakephp.org/3.0/en/controllers/components/security.html#handling-blackhole-callbacks

generateToken()source public

generateToken( Cake\Network\Request $request )

Вручную добавить информацию о предотвращении подмены формы в предоставленный объект запроса.

Параметры

Cake\Network\Request $request
Объект запроса, который нужно добавить.

Возвращаемое значение

булево

implementedEvents()source public

implementedEvents( )

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

Возвращаемое значение

массив

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

Cake\Controller\Component::implementedEvents()

requireAuth()source public

requireAuth( string|array $actions )

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

Добавление действий с помощью этого метода будет принудительно применять ограничения, заданные в SecurityComponent::$allowedControllers и SecurityComponent::$allowedActions.

Устарело

3.2.2 Эта функция запутывает и не полезна.

Параметры

строка|массив $actions
Список действий

requireSecure()source public

requireSecure( string|array|null $actions null )

Устанавливает действия, которые требуют запроса с защищенным SSL-соединением, или пустое значение для всех действий

Параметры

строка|массив|null $actions необязательно null
Список действий

startup()source public

startup( Cake\Event\Event $event )

Начальная настройка компонента. Все проверки безопасности выполняются здесь.

Параметры

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

Возвращаемое значение

смешанное

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

__construct()source public

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

Конструктор

Параметры

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

__debugInfo()source public

__debugInfo( )

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

Возвращает

array

__get()source public

__get( string $name )

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

Параметры

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

Возвращает

mixed
Объект компонента или null.

initialize()source public

initialize( array $config )

Метод хука конструктора.

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

Параметры

array $config
Параметры конфигурации, предоставленные для этого компонента.

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

_configDelete()source protected

_configDelete( string $key )

Удалить единственный ключ конфигурации

Параметры

string $key
Ключ для удаления.

Исключение

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

_configRead()source protected

_configRead( string|null $key )

Считывание переменной конфигурации

Параметры

string|null $key
Ключ для считывания.

Возвращает

mixed

_configWrite()source protected

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

Запись переменной конфигурации

Параметры

string|array $key
Ключ для записи.
mixed $value
Значение для записи.
boolean|string $merge необязательно false

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

Исключение

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

config()source 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']);

Параметры

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->config('key', $value);

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

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

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

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

Параметры

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

Возвращает


$this Сам объект.

Методы, используемые из 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
Результат записи в журнал.

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

$_actionsource

protected string

Содержит текущее действие контроллера

null

$_defaultConfigsource

protected array

Конфигурация по умолчанию

  • blackHoleCallback - Метод контроллера, который будет вызван, если этот запрос будет проигнорирован.
  • requireSecure - Список действий, которые требуют защищенного SSL-соединения.
  • requireAuth - Список действий, которые требуют валидного ключа аутентификации. Устарело начиная с 3.2.2
  • allowedControllers - Контроллеры, из которых действия текущего контроллера могут принимать запросы.
  • allowedActions - Действия, из которых действия текущего контроллера могут принимать запросы.
  • unlockedFields - Поля формы, которые необходимо исключить из проверки POST. Поля могут быть разблокированы в компоненте или с помощью FormHelper::unlockField(). Поля, которые были разблокированы, не требуются в POST, и скрытые разблокированные поля не проверяются на наличие значений.
  • unlockedActions - Действия, которые нужно исключить из проверок POST. Другие проверки, такие как requireAuth(), requireSecure() и т. д., по-прежнему будут применяться.
  • validatePost - Проводить ли проверку POST-данных. Установите в значение false, чтобы отключить для данных, поступающих от сторонних сервисов и т. д.
[
    'blackHoleCallback' => null,
    'requireSecure' => [],
    'requireAuth' => [],
    'allowedControllers' => [],
    'allowedActions' => [],
    'unlockedFields' => [],
    'unlockedActions' => [],
    'validatePost' => true
]

$requestsource

public Cake\Network\Request

Объект запроса

$sessionsource

public Cake\Network\Session

Объект сеанса

© 2005–2017 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.3/class-Cake.Controller.Component.SecurityComponent.html

Spec-Zone.ru

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