我的AppController
中有以下配置:
public $components = array(
'Session',
'Security' => array(
'blackHoleCallback' => 'blackHole',
'csrfExpires' => '+1 hour',
'csrfUseOnce' => false
)
);
blackHole
回调函数的开发版本:
public function blackHole($type) {
$this->Session->setFlash(
sprintf('Is session valid: %d, Security issue type: %s',
$this->Session->valid(), $type));
}
出于测试目的,存储在core.php
中的会话配置如下所示:
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 1 // 1 minute
)
);
现在,当我登录时,转到包含某种表单的页面并在会话过期1分钟后提交表单(如预期的那样),但$this->Session->valid()
在我的blackHole回调中返回true
(btw:{ {1}}值为' csrf')。 为什么Cake声明会话在不是
我正在使用CakePHP v.2.4.3。