Phalcon csrf在服务器上失败

时间:2016-02-14 14:43:51

标签: php phalcon csrf-protection

我正在使用phalcon 2.0.9。

我有一个登录表单,有csrf保护。

这是以下形式的代码:

<input type='hidden' id='token' name='{{ security.getTokenKey() }}' value='{{ security.getToken() }}' />

这是控制器中的验证:

if(!$this->security->checkToken()) {
    // error code here
}

它完全适用于localhost,但是当我将它上传到服务器时,它总是失败。我在登录时使用ajax。在post请求之后,会话中的csrf标记与帖子中的标记不同。

是什么导致这种情况?

1 个答案:

答案 0 :(得分:0)

信用:Daniel @ https://forum.phalconphp.com/discussion/922/csrf-protection-not-working

确保您在服务器上使用最新的Phalcon版本 并且要么使用论坛上的用户给出的服务器配置,要么将未发现的(404)动作移动到不包括CSRF TokenKey&amp;的控制器。密钥生成就是它的观点。

如果在服务器上找不到项目favion / robot.txt / img等,则会执行404操作,最终会重新生成CSRF令牌。

希望这会有所帮助。