服务器上的yii2出现csrf问题

时间:2016-01-07 13:02:47

标签: php apache yii2 csrf

我在使用yii2的形式在服务器上工作时遇到问题。我在我的本地机器上有项目,它工作正常,但在服务器上(据说配置相同)它失败了。我在请求中看到csrf cookie丢失了。

它仅发送PHPSESSID。我在meta中有csrf,并作为隐藏输入。在我的本地配置中,相同的代码工作得很好。当我回顾一下例如phpinfo时,似乎只有很少的细微差别,这些差异不会对此产生影响。

我不确定这里是否存在任何可能非常重要的apache差异。我本地的版本是2.4,服务器版本是2.2。除此之外其他一切看起来都一样。

1 个答案:

答案 0 :(得分:-2)

首先在控制器中添加以下功能:

public function beforeAction($action) {
    $this->enableCsrfValidation = false;
    return parent::beforeAction($action);
}

或者添加

public $enableCsrfValidation = false;

在您的控制器类

希望这会对你有所帮助。如果是这样,请标记为已批准。