Yii2 - Bad Request (#400) Incapables de vérifier votre soumission des données
Mon yii2 application fonctionnait bien jusqu'à hier cependant, aujourd'hui, sur l'envoi du formulaire, il montre l'erreur. "Bad Request (#400) Incapables de vérifier votre soumission des données.".
J'ai trouvé beaucoup de ces questions sur stackoverflow, où les gens sont ce qui suggère de désactiver la validation csrf j'ai essayé de désactiver validation csrf aussi. j'ai même mis à jour mon compositeur encore il ne fonctionne pas.
veuillez indiquer toute autre solution possible.
C'est mon code du formulaire :-
<h2>Open an Account</h2>
<?php
$form = ActiveForm::begin([
'id' => 'live-account-form',
'enableClientValidation' => true,
'fieldConfig' => [
'template' => '{input}{error}',
'options' => [
'tag' => false,
]
],
'options' => [
'class' => 'form-horizontal'
]
]);
?>
<div class="form-group">
<label for="signupform-first_name" class="col-sm-3 control-label">First Name*</label>
<div class="col-sm-9 field-signupform-first_name">
<?= $form->field($model, 'first_name')->textInput(['placeholder' => "Enter First Name"]) ?>
</div>
</div>
<div class="form-group">
<label for="singupform-last_name" class="col-sm-3 control-label">Last Name*</label>
<div class="col-sm-9 field-signupform-last_name">
<?= $form->field($model, 'last_name')->textInput(['placeholder' => 'Enter Last Name']) ?>
</div>
</div>
<div class="form-group">
<label for="signupform-email" class="col-sm-3 control-label">Email*</label>
<div class="col-sm-9 field-signupform-email">
<?= $form->field($model, 'email')->textInput(['placeholder' => "Enter Email Address"]) ?>
</div>
</div>
<div class="form-group">
<label for="signupform-country" class="col-sm-3 control-label">Country*</label>
<div class="col-sm-9 field-signupform-country">
<?= $form->field($model, 'country')->dropDownList(
ArrayHelper::map(PhCountry::find()->all(), 'intid', 'country_name'),
[
'prompt' => 'Select Country',
'onchange' => '$( "select#signupform-country_code" ).html("showLoading");
$.get( "index.php/site/fetch-country-code?id='.'"+$(this).val(),
function(data) {
$( "#signupform-country_code" ).val(data);
});'
]
) ?>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Phone Number*</label>
<div class="col-sm-9 phone-number-div">
<div>
<?= $form->field($model, 'country_code')->textInput(['placeholder' => 'Code', 'class' => 'country-code form-control']) ?>
</div>
<div class="field-signupform-phone">
<?= $form->field($model, 'phone')->textInput(['placeholder' => 'Enter Phone Number', 'class' => 'enter-phone-number form-control']) ?>
</div>
</div>
</div>
<button type="submit" class="btn btn-default">Create Account</button>
<?php
ActiveForm::end();
?>
et c'est mon code d'action à l'intérieur de contrôleur:-
public function actionIndex()
{
Yii::$app->controller->enableCsrfValidation = false;
$model = new SignupForm();
if ($model->load(Yii::$app->request->post())) {
//print_r($model);
if ($user = $model->signup()) {
if($model->sendRegistrationEmail($user)) {
Yii::$app->session->setFlash('emailSent', 'An email containing confirmation link is sent to your email Address.');
if (Yii::$app->getUser()->login($user)) {
return $this->goHome();
}
}
}
//exit;
}
return $this->render('index', [
'model' => $model,
]);
}
Avez-vous d'autres infos sur l'erreur de Yii2 ou Apache/serveur de logs?
montrer respecté la forme et le contrôleur
Salut les Fous, veuillez vérifier que j'ai ajouté mon formulaire et de l'action code
ajouter au contrôleur
Grâce Fou maintenant, il est de travail. mais je veux poser une question, sera la désactivation de csrf causes de tout problème de sécurité de mon site web?
montrer respecté la forme et le contrôleur
Salut les Fous, veuillez vérifier que j'ai ajouté mon formulaire et de l'action code
ajouter au contrôleur
public function beforeAction($action) { $this->enableCsrfValidation = false; return parent::beforeAction($action); }
Grâce Fou maintenant, il est de travail. mais je veux poser une question, sera la désactivation de csrf causes de tout problème de sécurité de mon site web?
OriginalL'auteur Vinit Singh | 2016-07-11
Vous devez vous connecter pour publier un commentaire.
Utiliser ceci :
Ne désactivez pas CSRF
OriginalL'auteur Insane Skull
Vous pouvez utiliser en dessous de configuration dans votre fichier de configuration principal de désactiver globalement csrf de validation dans l'ensemble de l'application.
OriginalL'auteur Dhruten