Задать вопрос
@Igorrebega

Как работает CSRF в yii2?

Как работает CSRF в yii2?

Наиболее интересует как проверяется токен
  • Вопрос задан
  • 10832 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 5
@theaidem
А в исходниках не написано?
Ответ написан
@eandr_67
web-программист (*AMP, Go, JavaScript, вёрстка).
А заглянуть в исходники и самому посмотреть - как там всё сделано? Ничего сложного там нет.
Ответ написан
Здравсвуйте! в yii2 ненужно проверять токен, он его сам проверит
if (!$this->enableCsrfValidation || in_array($method, ['GET', 'HEAD', 'OPTIONS'], true)) {
    return true;
}
Ответ написан
@Igorrebega Автор вопроса
У меня проблема что тот токен что передаёт форма не такой как в теге мета, и возникает ошибка 400
Ответ написан
Комментировать
atis2345
@atis2345
PHP developer
"Хреново" работает. В доке ничего не написано об этом. Там в принципе о многом не написано.

Не могу рассказать принцип работы, но могу показать как работает.

<?php

/** @var $this yii\web\View */

$this->registerMetaTag(['name' => 'csrf-param', 'content' => Yii::$app->request->csrfParam]);
$this->registerMetaTag(['name' => 'csrf-token', 'content' => Yii::$app->request->getCsrfToken()]);

?>

<form action="#" method="posts">

    <!-- inputs -->

   <input type="hidden" name="<?= Yii::$app->request->csrfParam ?>" value="<?= Yii::$app->request->getCsrfToken() ?>"/>

    <!-- submit -->

</form>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы