#yii2 はフォームの繰り返し送信を防ぐために csrf を使用します
まず、デフォルトでは yii2 の csrf 検証が行われます。トークン検証は Cookie によって保存されます。フォームが繰り返し送信されないようにするには、まずこのメソッドをセッションに変更する必要があります。
これは、プロジェクト構成を変更することで実現できます (推奨学習: yii フレームワーク)
'components' => [ 'request' => [ 'enableCsrfCookie' => false ] ]
/** * @inheritdoc */ public function beforeAction($action) { if (parent::beforeAction($action)) { if ($this->enableCsrfValidation && Yii::$app->getErrorHandler()->exception === null && !Yii::$app->getRequest()->validateCsrfToken()) { throw new BadRequestHttpException(Yii::t('yii', 'Unable to verify your data submission.')); } return true; } return false; }
public function beforeAction($action) { if (parent::beforeAction($action)) { if ($this->enableCsrfValidation) { Yii::$app->getRequest()->getCsrfToken(true); } return true; } return false; }
以上がyii2 でフォームの繰り返し送信を防ぐ方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。