Yii 2.0 Проверка CSRF для запроса AJAX

У меня есть функция ajax которая запускает удаление записи из моей базы данных.

Мне нужно сделать проверку CSRF для того же самого. Как я могу это сделать?

Я отправляю CSRF cookie вместе с моим почтовым запросом, но Yii 2.0 не проверяет его, и любой вход, который передается через ajax, достигает сервера.

Как сделать проверку CSRF для запросов ajax.

Нужно ли нам вручную устанавливать cookie и проверять?

Вам не нужно вручную устанавливать cookie.

Если вы используете токен JQuery CSRF, он будет отправлен автоматически.

Например, для AngularJS вы можете добавить его вручную, чтобы запросить такие параметры:

 yii.getCsrfParam(): yii.getCsrfToken() 

Убедитесь, что у вас включен YiiAsset .

В противном случае вы можете получить их из метатег (это в основном то, что делают эти два метода):

 $('meta[name=csrf-param]').prop('content'): $('meta[name=csrf-token]').prop('content') 

Также обратите внимание, что для включения проверки CSRF свойство свойства enableCsrfValidation свойства Controller и Request должно иметь значение true .

Обновить:

Еще одна важная вещь, чтобы понять:

Маркер CSRF будет проверяться только по этим методам: GET , HEAD , OPTIONS .

Также убедитесь, что в главном макете есть <?= Html::csrfMetaTags ?> .

Наконец, я определил, что

  <?= Html::csrfMetaTags() ?>