【发布时间】:2012-09-16 22:55:32
【问题描述】:
我有一个很奇怪的问题。我在 Yii 中有一个登录表单,效果很好。将网站移动到另一台服务器后,我得到了
错误 400 无法验证 CSRF 令牌
我不明白为什么它在开发服务器上工作,但在新服务器上却没有。这是我的代码:
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'login-form',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
)); ?>
<div class="row">
<?php echo $form->labelEx($model,'username'); ?>
<?php echo $form->textField($model,'username'); ?>
<?php echo $form->error($model,'username'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'password'); ?>
<?php echo $form->passwordField($model,'password'); ?>
<?php echo $form->error($model,'password'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton('Submit'); ?>
</div>
<?php $this->endWidget(); ?>
这是我的配置文件中的 csrf 配置:
'enableCsrfValidation' => !isset($_POST['dontvalidate']) ? true : false,
【问题讨论】:
-
也许您的
cookieParams在新部署的上下文中无效? -
你能解释一下你的意思吗?
标签: authentication yii csrf bad-request