J'ai mis en cache le fragment de html, y compris la forme à mon avis.rendre dynamique csrf entrée cachée tout en utilisant le cache dans yii2
<?php $form = ActiveForm::begin(); ?>
<?php echo $form->field($model, 'name'); ?>
<?= Html::submitButton('Save') ?>
<?php ActiveForm::end() ?>
Problème avec le jeton de validation CSRF - il doit être dynamique (et non statique). Existe-t-il une autre/meilleure façon de le rendre sans le désactiver et de l'activer à nouveau?
<?php Yii::$app->request->enableCsrfValidation = false; ?>
<?php $form = ActiveForm::begin(); ?>
<?php Yii::$app->request->enableCsrfValidation = true; ?>
<input type="hidden" name="_csrf" value="<?php echo $this->renderDynamic('return Yii::$app->request->csrfToken;'); ?>">
<?php echo $form->field($model, 'name'); ?>
<?= Html::submitButton('Save') ?>
<?php ActiveForm::end() ?>
Si je ne désactivez pas & activer CsrfValidation J'ai deux jetons en html - premier est de cache et la seconde est dynamique.
vous n'avez pas à le faire. Avez-vous ajouté des balises meta csrf dans votre fichier layout.php principal? et mettre à jour votre compositeur fois – Kshitiz
que j'ai fait tout mettre à jour. Si je ne fais pas cela, j'ai deux jetons _csrf cachés dans mon formulaire ... – emte
vérifiez vos points de vue site login.php page. ils utilisent une forme active. Vérifiez combien de jetons csrf sont là. et laissez-moi savoir – Kshitiz