早速変更点を確認していたのですが、app/config/core.phpのSession.timeoutのコメント内容が変更されており、おやっと思いました。
--- a/app/config/core.php
+++ b/app/config/core.php
@@ -167,7 +167,7 @@
Configure::write('Session.cookie', 'CAKEPHP');
/**
- * Session time out time (in seconds).
+ * Session time out time (in minutes).
* Actual value depends on 'Security.level' setting.
*/
Configure::write('Session.timeout', '120');
Session.timeoutの指定値が分として解釈されるようになった?
cake/libs/cake_session.phpの変更点も見てみます。
--- a/cake/libs/cake_session.php
+++ b/cake/libs/cake_session.php
/* ... 前略 ... */
@@ -460,28 +468,17 @@ class CakeSession extends Object {
*/
function __initSession() {
$iniSet = function_exists('ini_set');
-
if ($iniSet && env('HTTPS')) {
ini_set('session.cookie_secure', 1);
}
+ if ($iniSet && ($this->security === 'high' || $this->security === 'medium')) {
+ ini_set('session.referer_check', $this->host);
+ }
- switch ($this->security) {
- case 'high':
- $this->cookieLifeTime = Configure::read('Session.timeout') * Security::inactiveMins();
- if ($iniSet) {
- ini_set('session.referer_check', $this->host);
- }
- break;
- case 'medium':
- $this->cookieLifeTime = Configure::read('Session.timeout') * Security::inactiveMins();
- if ($iniSet) {
- ini_set('session.referer_check', $this->host);
- }
- break;
- case 'low':
- default:
- $this->cookieLifeTime = Configure::read('Session.timeout') * Security::inactiveMins();
- break;
+ if ($this->security == 'high') {
+ $this->cookieLifeTime = 0;
+ } else {
+ $this->cookieLifeTime = Configure::read('Session.timeout') * (Security::inactiveMins() * 60);
}
switch (Configure::read('Session.save')) {
/* ... 後略 ... */
Security.levelが’medium’または’low’の場合、$this->cookieLifeTimeが以前より60倍、「分」として解釈されるようになっています。 ただし、$this->cookieLifeTimeは、セッションCookieの有効期限なのでセッション自体の有効期限ではありません。
セッションの有効期限は、これまで通り
$this->sessionTime = $this->time + (Security::inactiveMins() * Configure::read('Session.timeout'));
であり、Security.levelがhighであれば「Session.timeout * 10 (秒)」、mediumであれば「Session.timeout * 100 (秒)」、lowであれば「Session.timeout * 300 (秒)」のままです。
しかし、なんで誤解を招きそうなコメント&Cookieだけ期限が延長になったんでしょうか。