
ãã®è¨äºãä¸è¡ã«ã¾ã¨ããã¨
以åã¯core.phpã«Security.leveã£ã¦ã®ããã£ãã®ã«æ°ãã¤ããããããè¦å½ãããªããªã£ã¦ãã
CakePHP2ç³»ã§ã»ãã·ã§ã³æéãè¨å®ããã«ã¯ï¼
CakePHP1.3ã§ãã°ã¤ã³ç»é¢ãå®è£
ããéããã®ã»ãã·ã§ã³æéã¨ããããã°ã¤ã³ãåããã¾ã§ã®æéã£ã¦ãcore.phpã£ã¦ãããã¡ã¤ã«ã®ä¸ã«ãã以ä¸ã®é
ç®ã§è¨å®ãã¦ã¾ããã
ãSeculity.levelãã£ã¦ã®ã¯ãhighããmediumããlowãã®ä¸ã¤ãæå®ã§ãã¦ãããã«å¿ããç§æ°ãã»ãã·ã§ã³æéã«ãªã£ã¦ã¾ãããä¸è¨ã®å ´åã ã¨ãSession.timeoutã1500ã§Security.levelãlowãªã®ã§ã1500Ã300ã§45000ç§ã£ã¦ãã¨ã«ãªãã¾ããããã ãããåæ¥ããããhighã ã¨Ã10ç§ã§mediumã ã¨Ã100ç§ã«ãªãã¾ãã
ã»ãã§ã¾ãããã®Security.levelã£ã¦ãã¤ããªããªãæ²è ã§ãã¦ãã»ãã¥ãªãã£ã®ãã¨ãèããã¨highã«ããã®ãè¯ãã¨ãä½ã¨ãè¨ãã¤ã¤ãhighã«ããã¨ãã¾ããããããªãæåãããã¨ãä½ã¨ãã§ãçµå±mediumã«ããã®ãè¯ãã ã®lowã¾ã§ä¸ãã¡ãã£ãæ¹ãè¯ãã ã®ã£ã¦è©±ã«ãªããã¨ãå¤ãâ¦â¦åãä»äºã§1.3ã使ã£ã¦ãã¨ããããããã§ãããlowã«è¨å®ãã¦ããã¾ããlowã ã¨ã»ãã·ã§ã³IDãæ°ããæ¸ãç´ããªãçãªåé¡ããããã§ãããããã¯ã³ã³ãã¼ãã³ãã®auth.phpãã¡ãã¡ããã¨æ¸ãç´ãã ãã§ä½ã¨ããªããããåãããã§å¯¾å¿ãã¦ã¾ãã
åã«ãã¡ããã¼ã£ã¨ããã辺ã®ãã¨ã«ã¤ãã¦æ¸ãããã¨ããããã ãã©ããããä½ãã®è¶³ãã«ãªãã°ã
Security.levelãlowã§ãæ éãæãã¦ã»ãã·ã§ã³IDãããã¯æ°èª¿ãã¨ãï¼
ã¾ã1.3ã®ãã¨ã¯ã¨ãããã¨ãã¦ãä»æ¥ã¯ã2.3ã«ããããã®Security.levelã£ã¦ã®ãè¦å½ãããªããªã£ããã§ãããã«ã¤ãã¦ã¡ãã£ã¨èª¿ã¹ã¦ã¿ããã¨ããå ±åããã¦ããã ãããæãã¾ãã¦ãã¤ãã§ã«ã2.0ã®è©±ãã¡ãã£ã¨èãã¦ããããã¨æãã¾ãã¦ã
æ¤è¨¼ãããã¦ãªãé¨åããããããå°ãã ãå¦æ³ãå ¥ãã¾ããããã®è¾ºã¯ãªããªãã§ãé¡ããã¾ãm(_ _)m
ãã¨å¦æ³ãå ¥ãã¨ã¯ãããä¸å¿éçºã«é¢ããè¨äºã ãããã«ãã´ãªã¯éçºæè¡ã«ãããã©ããã®è¾ºããªããªãã§ãé¡ããã¾ãm(_ _)m
1.3ã®é ã¯ãã³ã¢ã®æ¹ã«ããcake_session.phpã®ã¨ããã§ãã»ãã·ã§ã³æéãè¨å®ããéã«ããã®Security.levelã®è¨å®ã使ããã¦ããã§ããã©ã2.0ã«ãªã£ã¦ãåããã¨ããã£ã¦ãCakeSession.phpã£ã¦ãã¡ã¤ã«ãè¦ã¦ã¿ãã¨ãã»ãã·ã§ã³æéã®è¨å®ã«ããããç¹ã«ä½¿ããã¦ãããã«è¦ããªããããã
ããã ãæ¸ãã¦ãåããè¾ãã¨æããã©ãä¸å¿è¼ãã¨ãã¨â¦â¦ã
1.3ã®æ¹ã«ãSecurity::inactiveMins()ãã£ã¦ã®ããããããï¼ãããããSecurity.levelã«å¿ããå¤ãè¿ãé¢æ°ãªããããhighã ã£ãã10ã¨ããlowã ã£ãã300ã¨ãã
ãã®Security::inactiveMins()èªä½ã¯2.0ã«ããã£ã¦ãåãããã«Security.levelã«å¿ããæ°åãè¿ãããã«ã¯ãªã£ã¦ãã ãã©ãã§ã使ã£ã¦ãªããããªã®ããã
ã ãããããã¯åã®åºããçµè«ã ãã©ã2.0ã®å ´åãSecurity.levelã¯ä½ã§ãè¯ãããããï¼ãã¨æããã§ãããã
ãããã¾ããã»ãã¥ãªãã£ã®ãã£ã¨æ·±ãã¨ãã¾ã§å ¥ã£ã¦è¡ãã¨ããããå½±é¿ãã¦ããã®ãããããªããã©ãå°ãªãã¨ãã»ãã·ã§ã³æéããã°ã¤ã³æéã«é¢ããé¨åã§ã¯ãããã¯ä½ã§ãè¯ããããªæ°ãããã
ãdefaultsãã£ã¦ããé ç®ã¯ãã©ã®è¨å®ã«å¾ããã¿ãããªè¨å®é ç®ã§ããphpãã«ãã¨ãã¨ãphp.iniã®ã»ãã·ã§ã³ã®è¨å®ã«å¾ãã£ã½ãã§ããä»ã«ã¯ãcakeããcacheããdetabeseããè¨å®ã§ããã¿ããã§ãããããã©ããªè¨å®ã«å¾ãã®ãã¯ãCakeSession.phpã®ä¸ã®ã_defaultConfig()ãã£ã¦é¢æ°ãè¦ãã°åããã¾ãã
ã¡ãªã¿ã«CakeSession.phpã¯ãModel/Datasourceãã£ã¦ã¨ãã«å ¥ã£ã¦ãã
ããããã¿ã¤ã ã¢ã¦ãã®æéã¯ã©ããã£ã¦æ¸ãã®ãã£ã¦ã¼ã¨â¦â¦
ãããªé¢¨ã«æ¸ãããã§ãã
1.3ã¨å¤§ããã¯å¤ãããªãâ¦â¦ã¨æãããã1.3ã®ã¨ãã¯ç§ã ã£ãã®ãã2.0ã ã¨åã«ãªã£ã¦ãããã§ããã¤ã¾ãããã¯ã1500ç§ãããªãã¦ã1500åãä¸æ¥ã¡ããã§ããã
åæè¨å®ã§ã¯ãããçç¥ããã¦ã¾ãããçç¥ããã¦ãå ´åã¯_defaultConfig()ã®ä¸ã®è¨å®ãé©ç¨ããã¾ããä¸è¨ã¿ããã’defaults’ => ‘php’ãã£ã¦æ¸ãã¦ãå ´åãåæè¨å®ã§ã¯timeoutã¯240ã£ã¦ãªã£ã¦ãã®ã§â¦â¦4æéã§ãããã¤ã¾ãä½ãè¨å®ããªããã°ã4æéã§ãã°ã¤ã³ãåãããã¨ã«ãªãã
â¦â¦ã£ã¦æã£ãããã®åãï¼
ã¾ãããããããæãããªã俺ã ã£ã¦ããæã£ããã
ã§ãã話ã¯ããç°¡åã§ããªãããããä½ã§ãããªããããããã¨ã«ãªã£ã¦ãã®ãããåãããªããã©ããããã風ã«ãªã£ã¦ããã ããä»æ¹ãªãããã
ããã§ããä¸åº¦_defaultConfig()ãè¦ãã¨ãtimeoutã®ä»ã«ãcookieTimeoutãã£ã¦ããé ç®ãããã®ããtimeoutã¨åããã240ã£ã¦æ°åãã»ããããã¦ãã
ã©ãããããã®cookieTimeoutãtimeoutãããå°ãªãæ°åã®å ´åããã°ã¤ã³æéã¯cookieTimeoutã®æ¹ã«å¾ãã¿ãããªã®ã
ãã¼ã£ã¨â¦â¦æã ãã ã¨ããããããã¤ããã¿ã¼ã³ãæ¸ãã¦ã¿ããããã
ãã¿ã¼ã³1ã¯è¨å®ãçç¥ããå ´åãããã©ã®å ´åã£ãããäºå®ä¸ãããã¯ã’timeout’ => 240, ‘cookieTimeout’ => 240ãã¨åãã ãããã®å ´åã¯ããã£ããæ¸ãããã©ã240åã4æéã§ãã°ã¤ã³ãåããã
ãã¿ã¼ã³2ã¯ãtimeoutã1440åï¼ã¡ããã©ä¸æ¥ï¼ã«ãããã¿ã¼ã³ãcookieTimeoutã¯çç¥ãã¦ããã§ãCakeå´ã®è¨å®ã§240ãå ¥ãããã®å ´åã¯ããã£ã±ã4æéã§ãã°ã¤ã³ãåãã¡ããã
ãã¿ã¼ã³3ã¯ãtimeoutã10åã«ããå ´åãcookieTimeoutã¯å¤ããã240åãªãã ãã©ããã®å ´åã¯10åã§ãã°ã¤ã³ãåããã
ãã¿ã¼ã³4ã¯ãtimeoutã1440åã«ãã¦ãcookieTimeoutã10åã«ããå ´åããã®å ´åã¯10åã§ãã°ã¤ã³ãåããã
ã¾ãä¸è¨ã§è¨ãã¨ãtimeoutã¨cookieTimeoutã®æ°åãå°ãªãæ¹ã®æéãé©ç¨ãããã£ã¦æãããªããä½ã§ãããªããã£ã¦ã¼ã¨ãã»ãã·ã§ã³ã®ã¿ã¤ã ã¢ã¦ãã®æéããã¼ãã£ã±ã大ããããã¨ãã¦ãããã®ã»ãã·ã§ã³ã管çãã¦ããã¯ããã¼ã®æ¹ãå ã«ã¿ã¤ã ã¢ã¦ãã«ãªã£ã¡ããã¨ãçµå±ã»ãã·ã§ã³ãç ´æ£ããã¡ããâ¦â¦ã£ã¦ããèãæ¹ã«ãªãã®ãããããcookieTimeoutã¯ãå¤æ°åã®ãã¨ãã¯ããã¼ã®æ¹ã®ã¿ã¤ã ã¢ã¦ãæéãè¨å®ãã¦ããããããã§ã
ã£ã¦ãã¨ã§ããã°ã¤ã³ã次ã®æ¥ã¾ã§åããªãããã«ãããå ´åã¯ãä¸ã®ã©ã®ãã¿ã¼ã³ã§ããã¡ã£ã¦ãã¨ã§ããã
timeoutã¨cookieTimeoutã両æ¹1440ã«ããªãã¨ãããªãã
åã詳ããã¯ãªããã§ããã以åãåãªãã«èª¿ã¹ããã¨ãæ¸ãããã¨ããããã§ããããåèã«ãªãã°ãçµæ§æã®è¨äºã ãããä»æ§ãå¤ãã£ãããã¦ãããªâ¦â¦ï¼
ã´ãåéè»ã«ã¯ãããã
ãã£ããè¨ãã¨ãPHPã®è¨å®ã§ãsession.gc_maxlifetimeãã£ã¦ããã®ããã£ã¦ããããçãã¨ãã»ãã·ã§ã³ãã¯ããã¼ã®ã¿ã¤ã ã¢ã¦ããé·ããã¨ãã¦ããç ´æ£ããã¦ãã¾ããã¨ãããã
ããã¯CakePHPãããªãã¦PHPã®è¨å®ã ãããini_set()ã§è¨å®ãããã¨ãã§ãããã ãã©ãCakePHPã®å ´åã¯ãcore.phpã®æ¹ã§æ¸ããã¨ãã§ããã
ãããã¡ããããããããã ããsession.gc_maxlifetimeã¯ç§ã§è¨å®ãã¾ãã
2.0ã®ã¨ãã¯ããã¾ã§æ¸ãã¦ãããããªæããªãã ãã©ãã¤ããã®åãCakePHPã®ãã¼ã¸ã§ã³ã2.3ã«ã¢ãããã¦ã¿ãããããã«ç¶æ³ãå¤ãã£ã¦ããå ·ä½çã«ãã¤ãããããªã£ãã®ãã¯åãããªããã©ãå°ãªãã¨ã2.3ã§ã¯ãããªã£ã¦ãã
ã¾ããcore.phpããSecurity.levelããªããªã£ã¦ãã
ä¾ã®ãSecurity::inactiveMins()ãã¯æ®ã£ã¦ããã ãã©ãã§ããã£ã±ããããã¨è¦ãæãã§ã¯ãããã ãã§ä½¿ããã¦ãªãããã«è¦ããããªãã
ã¾ãããã¯2.0ã®ã¨ãã¨ç¹ã«å¤ãããªããã ãã©ãããã§ããä¸ã¤ã
ã_defaultConfig()ããè¦ãã¨ãcookieTimeoutã®åæè¨å®ããªããªã£ã¦ããtimeoutã®æ¹ã¯å¤ããã240åã£ã¦ããåæè¨å®ãããã
ã£ã¦ãã¨ã¯ã2.3ã®æ¹ã¯ãããæ¸ãã¨ãã°ãã°ã¤ã³æéãä¸æ¥ã«è¨å®ã§ããã£ã¦ãã¨ã§ããã
cookieTimeoutã®æ¹ã¯ãè¨å®ãçç¥ããã¨ãtimeoutã§è¨å®ããæ°åãå ¥ããããã«ãªã£ã¦ããããããæ¸ãã°cookieTimeoutãèªåçã«1440åã«ãªãã
å®ã¯ãã®ãcookieTimeoutãçç¥ããå ´åã¯timeoutã§è¨å®ããæ°åãå ¥ããã£ã¦ããå¦çèªä½ã¯ã2.0ã®ã¨ããCakeSession.phpã®ä¸ã§ãã£ã¦ããã§ããã©ãããã ãCakeSession.phpã®ä¸ã§ãcookieTimeoutãçç¥ãããã£ã¦ããäºæ ãçºçããªãããã«ãªã£ã¦ãããããããã©ã«ãã®å¤ãèªåçã«ã»ãããã¡ãã£ã¦ãããã
å ·ä½çã«ããã¨ã2.0ã§ã2.3ã§ããCakeSession.phpã®ä¸ã«ããããã³ã¼ããããã®ã
ã§ã2.0ã®ã¨ãã¯ããisset($sessionConfig[‘cookieTimeout’])ãã§å¿ ãtrueãè¿ã£ã¦ããè¨å®ã«ãªã£ã¡ãã£ã¦ãã£ã¦ãã¨ã ãã
ãã¶ãéçºãé²ãä¸ã§ãããã絶対ã«trueè¿ã£ã¦æ¥ã¡ãããï¼ãä¿®æ£ããããï¼ãçãªãã¨ããã£ããã ã¨æãã
ã¡ãªã¿ã«2.3ã®å ´åã¯ãè¨è¿°ãçç¥ããå ´åãsession.gc_maxlifetimeãtimeoutã§è¨å®ããå¤ãå ¥ããããã«ãªã£ã¦ãã
ã¦ã¼ã¶ã¼ã®è¨å®ããªãã¹ã楽ã«ãªãããããã¼ã¸ã§ã³ã¢ãããéãããã¨ã«ã¡ããã¡ããã¨é²åãã¦ããã¿ããã§ããã
è¯ãä»äºãã¦ã¾ããã¼ãCakePHPããã
ã£ã¦ãªããã§ã1.3 â 2.0 â 2.3ã¨ããæ代ã®ç§»ãå¤ããã«ä¼´ãSecurity.levelã®è©±ã§ããããããã»ã¨ãã©ã»ãã·ã§ã³æéã«é¢ãã話ã ã£ããã
ã¨ã«ãããæåã¯çµ¶å¯¾ã«å¿ è¦ãªè¨å®ã ã£ãã¯ãã®Security.levelããæ°ã¥ãããããªããªã£ã¦ãã£ã¤ã¼è©±ã£ãããä¸è»ã«ããããã¤ãããã¤ã®éã«ããã³ãå ¥ãããã§ããã«äºè»ã«è½ã¡ã人ç¥ããå¼éãã¦ãæãã ããããèããã¨ãã¡ãã£ã¨ã ãå¯ãããã¨ãªã®ãããããªããã
ã¾ãä»æ¥ã®çµè«ã¨ãã¦ã¯ãç§ã¨åã«ã ãæ°ãã¤ãã¨ãã°ãã»ãã·ã§ã³æéã¯ç°¡åã«è¨å®ã§ããããã«ãªã£ãâ¦â¦ã£ã¦ãã¨ã§ãè¯ãããããã
Configure::write('Session.timeout', '1500');
Configure::write('Security.level', 'low');
ãSeculity.levelãã£ã¦ã®ã¯ãhighããmediumããlowãã®ä¸ã¤ãæå®ã§ãã¦ãããã«å¿ããç§æ°ãã»ãã·ã§ã³æéã«ãªã£ã¦ã¾ãããä¸è¨ã®å ´åã ã¨ãSession.timeoutã1500ã§Security.levelãlowãªã®ã§ã1500Ã300ã§45000ç§ã£ã¦ãã¨ã«ãªãã¾ããããã ãããåæ¥ããããhighã ã¨Ã10ç§ã§mediumã ã¨Ã100ç§ã«ãªãã¾ãã
ã»ãã§ã¾ãããã®Security.levelã£ã¦ãã¤ããªããªãæ²è ã§ãã¦ãã»ãã¥ãªãã£ã®ãã¨ãèããã¨highã«ããã®ãè¯ãã¨ãä½ã¨ãè¨ãã¤ã¤ãhighã«ããã¨ãã¾ããããããªãæåãããã¨ãä½ã¨ãã§ãçµå±mediumã«ããã®ãè¯ãã ã®lowã¾ã§ä¸ãã¡ãã£ãæ¹ãè¯ãã ã®ã£ã¦è©±ã«ãªããã¨ãå¤ãâ¦â¦åãä»äºã§1.3ã使ã£ã¦ãã¨ããããããã§ãããlowã«è¨å®ãã¦ããã¾ããlowã ã¨ã»ãã·ã§ã³IDãæ°ããæ¸ãç´ããªãçãªåé¡ããããã§ãããããã¯ã³ã³ãã¼ãã³ãã®auth.phpãã¡ãã¡ããã¨æ¸ãç´ãã ãã§ä½ã¨ããªããããåãããã§å¯¾å¿ãã¦ã¾ãã
åã«ãã¡ããã¼ã£ã¨ããã辺ã®ãã¨ã«ã¤ãã¦æ¸ãããã¨ããããã ãã©ããããä½ãã®è¶³ãã«ãªãã°ã
Security.levelãlowã§ãæ éãæãã¦ã»ãã·ã§ã³IDãããã¯æ°èª¿ãã¨ãï¼
ã¾ã1.3ã®ãã¨ã¯ã¨ãããã¨ãã¦ãä»æ¥ã¯ã2.3ã«ããããã®Security.levelã£ã¦ã®ãè¦å½ãããªããªã£ããã§ãããã«ã¤ãã¦ã¡ãã£ã¨èª¿ã¹ã¦ã¿ããã¨ããå ±åããã¦ããã ãããæãã¾ãã¦ãã¤ãã§ã«ã2.0ã®è©±ãã¡ãã£ã¨èãã¦ããããã¨æãã¾ãã¦ã
æ¤è¨¼ãããã¦ãªãé¨åããããããå°ãã ãå¦æ³ãå ¥ãã¾ããããã®è¾ºã¯ãªããªãã§ãé¡ããã¾ãm(_ _)m
ãã¨å¦æ³ãå ¥ãã¨ã¯ãããä¸å¿éçºã«é¢ããè¨äºã ãããã«ãã´ãªã¯éçºæè¡ã«ãããã©ããã®è¾ºããªããªãã§ãé¡ããã¾ãm(_ _)m
ããã«ããã ãã£ã½ã
CakePHP2.0ã«ãªã£ã¦ãããã®Security.levelã£ã¦ã®ã¯åå¨ãããã ãã©ãã¿ã¤ã ã¢ã¦ãã®æéã«ã¯ãã¾ãé¢ä¿ããªããªã£ããããªæ°ããã¾ããã¡ããã¨æ¤è¨¼ãããããããªããã§ããããããééã£ã¦ãããã ãã©ãä¸å¿æ®ã£ã¦ãã£ã¦ã ãã§ãå®éã«æ©è½ãã¦ãã®ãã©ãããããåããããã1.3ã®é ã¯ãã³ã¢ã®æ¹ã«ããcake_session.phpã®ã¨ããã§ãã»ãã·ã§ã³æéãè¨å®ããéã«ããã®Security.levelã®è¨å®ã使ããã¦ããã§ããã©ã2.0ã«ãªã£ã¦ãåããã¨ããã£ã¦ãCakeSession.phpã£ã¦ãã¡ã¤ã«ãè¦ã¦ã¿ãã¨ãã»ãã·ã§ã³æéã®è¨å®ã«ããããç¹ã«ä½¿ããã¦ãããã«è¦ããªããããã
ããã ãæ¸ãã¦ãåããè¾ãã¨æããã©ãä¸å¿è¼ãã¨ãã¨â¦â¦ã
//CakePHP1.3ã®cake_session.php
$this->sessionTime = $this->time + (Security::inactiveMins() * Configure::read('Session.timeout'));
//CakePHP2.0ã®CakeSession.php
self::$sessionTime = self::$time + ($sessionConfig['timeout'] * 60);
1.3ã®æ¹ã«ãSecurity::inactiveMins()ãã£ã¦ã®ããããããï¼ãããããSecurity.levelã«å¿ããå¤ãè¿ãé¢æ°ãªããããhighã ã£ãã10ã¨ããlowã ã£ãã300ã¨ãã
ãã®Security::inactiveMins()èªä½ã¯2.0ã«ããã£ã¦ãåãããã«Security.levelã«å¿ããæ°åãè¿ãããã«ã¯ãªã£ã¦ãã ãã©ãã§ã使ã£ã¦ãªããããªã®ããã
ã ãããããã¯åã®åºããçµè«ã ãã©ã2.0ã®å ´åãSecurity.levelã¯ä½ã§ãè¯ãããããï¼ãã¨æããã§ãããã
ãããã¾ããã»ãã¥ãªãã£ã®ãã£ã¨æ·±ãã¨ãã¾ã§å ¥ã£ã¦è¡ãã¨ããããå½±é¿ãã¦ããã®ãããããªããã©ãå°ãªãã¨ãã»ãã·ã§ã³æéããã°ã¤ã³æéã«é¢ããé¨åã§ã¯ãããã¯ä½ã§ãè¯ããããªæ°ãããã
æ¹ãã¾ãã¦ã»ãã·ã§ã³æéã®æ¹ã
2.0ã«ãªã£ã¦ããã¯ãSession.timeoutã®æ¹ãã¡ãã£ã¨æ¸ãæ¹ãå¤ãã£ã¦ããã¾ãã¦â¦â¦ããã©ã«ãã ã¨ãcore.phpã®ä¸ã®Sessionã«é¢ããè¨è¿°ã¯ããããªé¢¨ã«ãªã£ã¦ããConfigure::write('Session', array(
'defaults' => 'php',
));
ãdefaultsãã£ã¦ããé ç®ã¯ãã©ã®è¨å®ã«å¾ããã¿ãããªè¨å®é ç®ã§ããphpãã«ãã¨ãã¨ãphp.iniã®ã»ãã·ã§ã³ã®è¨å®ã«å¾ãã£ã½ãã§ããä»ã«ã¯ãcakeããcacheããdetabeseããè¨å®ã§ããã¿ããã§ãããããã©ããªè¨å®ã«å¾ãã®ãã¯ãCakeSession.phpã®ä¸ã®ã_defaultConfig()ãã£ã¦é¢æ°ãè¦ãã°åããã¾ãã
ã¡ãªã¿ã«CakeSession.phpã¯ãModel/Datasourceãã£ã¦ã¨ãã«å ¥ã£ã¦ãã
ããããã¿ã¤ã ã¢ã¦ãã®æéã¯ã©ããã£ã¦æ¸ãã®ãã£ã¦ã¼ã¨â¦â¦
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 1500,
));
ãããªé¢¨ã«æ¸ãããã§ãã
1.3ã¨å¤§ããã¯å¤ãããªãâ¦â¦ã¨æãããã1.3ã®ã¨ãã¯ç§ã ã£ãã®ãã2.0ã ã¨åã«ãªã£ã¦ãããã§ããã¤ã¾ãããã¯ã1500ç§ãããªãã¦ã1500åãä¸æ¥ã¡ããã§ããã
åæè¨å®ã§ã¯ãããçç¥ããã¦ã¾ãããçç¥ããã¦ãå ´åã¯_defaultConfig()ã®ä¸ã®è¨å®ãé©ç¨ããã¾ããä¸è¨ã¿ããã’defaults’ => ‘php’ãã£ã¦æ¸ãã¦ãå ´åãåæè¨å®ã§ã¯timeoutã¯240ã£ã¦ãªã£ã¦ãã®ã§â¦â¦4æéã§ãããã¤ã¾ãä½ãè¨å®ããªããã°ã4æéã§ãã°ã¤ã³ãåãããã¨ã«ãªãã
ãªãã§ãã¼ãªãã®ã£ï¼ï¼
ãã¼ãã¼ãã¨ãªããä¾ãã°ã’timeout’ => 1440ãã£ã¦æ¸ãã¨ãã°ãä¸æ¥ããããã°ã¤ã³ç¶æ ãæç¶ããããã ãï¼ããã¼ããã¼ãï¼ã1.3ã®é ããç´æçã«åããããããï¼ï¼â¦â¦ã£ã¦æã£ãããã®åãï¼
ã¾ãããããããæãããªã俺ã ã£ã¦ããæã£ããã
ã§ãã話ã¯ããç°¡åã§ããªãããããä½ã§ãããªããããããã¨ã«ãªã£ã¦ãã®ãããåãããªããã©ããããã風ã«ãªã£ã¦ããã ããä»æ¹ãªãããã
ããã§ããä¸åº¦_defaultConfig()ãè¦ãã¨ãtimeoutã®ä»ã«ãcookieTimeoutãã£ã¦ããé ç®ãããã®ããtimeoutã¨åããã240ã£ã¦æ°åãã»ããããã¦ãã
ã©ãããããã®cookieTimeoutãtimeoutãããå°ãªãæ°åã®å ´åããã°ã¤ã³æéã¯cookieTimeoutã®æ¹ã«å¾ãã¿ãããªã®ã
ãã¼ã£ã¨â¦â¦æã ãã ã¨ããããããã¤ããã¿ã¼ã³ãæ¸ãã¦ã¿ããããã
//ãã¿ã¼ã³1
Configure::write('Session', array(
'defaults' => 'php',
));
//ãã¿ã¼ã³2
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 1440,
));
//ãã¿ã¼ã³3
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 10,
));
//ãã¿ã¼ã³4
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 1440,
'cookieTimeout' => 10,
));
ãã¿ã¼ã³1ã¯è¨å®ãçç¥ããå ´åãããã©ã®å ´åã£ãããäºå®ä¸ãããã¯ã’timeout’ => 240, ‘cookieTimeout’ => 240ãã¨åãã ãããã®å ´åã¯ããã£ããæ¸ãããã©ã240åã4æéã§ãã°ã¤ã³ãåããã
ãã¿ã¼ã³2ã¯ãtimeoutã1440åï¼ã¡ããã©ä¸æ¥ï¼ã«ãããã¿ã¼ã³ãcookieTimeoutã¯çç¥ãã¦ããã§ãCakeå´ã®è¨å®ã§240ãå ¥ãããã®å ´åã¯ããã£ã±ã4æéã§ãã°ã¤ã³ãåãã¡ããã
ãã¿ã¼ã³3ã¯ãtimeoutã10åã«ããå ´åãcookieTimeoutã¯å¤ããã240åãªãã ãã©ããã®å ´åã¯10åã§ãã°ã¤ã³ãåããã
ãã¿ã¼ã³4ã¯ãtimeoutã1440åã«ãã¦ãcookieTimeoutã10åã«ããå ´åããã®å ´åã¯10åã§ãã°ã¤ã³ãåããã
ã¾ãä¸è¨ã§è¨ãã¨ãtimeoutã¨cookieTimeoutã®æ°åãå°ãªãæ¹ã®æéãé©ç¨ãããã£ã¦æãããªããä½ã§ãããªããã£ã¦ã¼ã¨ãã»ãã·ã§ã³ã®ã¿ã¤ã ã¢ã¦ãã®æéããã¼ãã£ã±ã大ããããã¨ãã¦ãããã®ã»ãã·ã§ã³ã管çãã¦ããã¯ããã¼ã®æ¹ãå ã«ã¿ã¤ã ã¢ã¦ãã«ãªã£ã¡ããã¨ãçµå±ã»ãã·ã§ã³ãç ´æ£ããã¡ããâ¦â¦ã£ã¦ããèãæ¹ã«ãªãã®ãããããcookieTimeoutã¯ãå¤æ°åã®ãã¨ãã¯ããã¼ã®æ¹ã®ã¿ã¤ã ã¢ã¦ãæéãè¨å®ãã¦ããããããã§ã
ã£ã¦ãã¨ã§ããã°ã¤ã³ã次ã®æ¥ã¾ã§åããªãããã«ãããå ´åã¯ãä¸ã®ã©ã®ãã¿ã¼ã³ã§ããã¡ã£ã¦ãã¨ã§ããã
timeoutã¨cookieTimeoutã両æ¹1440ã«ããªãã¨ãããªãã
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 1440,
'cookieTimeout' => 1440,
));
ã¡ãã³ã£ã¨ã ãè足çãª
ä¸å¿ããã§ã»ãã·ã§ã³æéã®è¨å®ã¯ã§ããã£ã¦ãã¨ã§è¯ããã§ããã©â¦â¦å ´åã«ãã£ã¦ã¯ãã¬ãã¼ã¸ã³ã¬ã¯ã·ã§ã³ã£ã¦ã®ãå½±é¿ãã¦ãããã¨ããããåã詳ããã¯ãªããã§ããã以åãåãªãã«èª¿ã¹ããã¨ãæ¸ãããã¨ããããã§ããããåèã«ãªãã°ãçµæ§æã®è¨äºã ãããä»æ§ãå¤ãã£ãããã¦ãããªâ¦â¦ï¼
ã´ãåéè»ã«ã¯ãããã
ãã£ããè¨ãã¨ãPHPã®è¨å®ã§ãsession.gc_maxlifetimeãã£ã¦ããã®ããã£ã¦ããããçãã¨ãã»ãã·ã§ã³ãã¯ããã¼ã®ã¿ã¤ã ã¢ã¦ããé·ããã¨ãã¦ããç ´æ£ããã¦ãã¾ããã¨ãããã
ããã¯CakePHPãããªãã¦PHPã®è¨å®ã ãããini_set()ã§è¨å®ãããã¨ãã§ãããã ãã©ãCakePHPã®å ´åã¯ãcore.phpã®æ¹ã§æ¸ããã¨ãã§ããã
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 1440,//å
'cookieTimeout' => 1440,//å
'ini' => array('session.gc_maxlifetime' => 86400),//ç§
));
ãããã¡ããããããããã ããsession.gc_maxlifetimeã¯ç§ã§è¨å®ãã¾ãã
æ代ã¯ãã¾ããããå¤ãã
ãããã¾ã 話ã¯çµãããããªããããä»åº¦ã¯2.3ã®è©±ã2.0ã®ã¨ãã¯ããã¾ã§æ¸ãã¦ãããããªæããªãã ãã©ãã¤ããã®åãCakePHPã®ãã¼ã¸ã§ã³ã2.3ã«ã¢ãããã¦ã¿ãããããã«ç¶æ³ãå¤ãã£ã¦ããå ·ä½çã«ãã¤ãããããªã£ãã®ãã¯åãããªããã©ãå°ãªãã¨ã2.3ã§ã¯ãããªã£ã¦ãã
ã¾ããcore.phpããSecurity.levelããªããªã£ã¦ãã
ä¾ã®ãSecurity::inactiveMins()ãã¯æ®ã£ã¦ããã ãã©ãã§ããã£ã±ããããã¨è¦ãæãã§ã¯ãããã ãã§ä½¿ããã¦ãªãããã«è¦ããããªãã
ã¾ãããã¯2.0ã®ã¨ãã¨ç¹ã«å¤ãããªããã ãã©ãããã§ããä¸ã¤ã
ã_defaultConfig()ããè¦ãã¨ãcookieTimeoutã®åæè¨å®ããªããªã£ã¦ããtimeoutã®æ¹ã¯å¤ããã240åã£ã¦ããåæè¨å®ãããã
ã£ã¦ãã¨ã¯ã2.3ã®æ¹ã¯ãããæ¸ãã¨ãã°ãã°ã¤ã³æéãä¸æ¥ã«è¨å®ã§ããã£ã¦ãã¨ã§ããã
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 1440,
));
cookieTimeoutã®æ¹ã¯ãè¨å®ãçç¥ããã¨ãtimeoutã§è¨å®ããæ°åãå ¥ããããã«ãªã£ã¦ããããããæ¸ãã°cookieTimeoutãèªåçã«1440åã«ãªãã
å®ã¯ãã®ãcookieTimeoutãçç¥ããå ´åã¯timeoutã§è¨å®ããæ°åãå ¥ããã£ã¦ããå¦çèªä½ã¯ã2.0ã®ã¨ããCakeSession.phpã®ä¸ã§ãã£ã¦ããã§ããã©ãããã ãCakeSession.phpã®ä¸ã§ãcookieTimeoutãçç¥ãããã£ã¦ããäºæ ãçºçããªãããã«ãªã£ã¦ãããããããã©ã«ãã®å¤ãèªåçã«ã»ãããã¡ãã£ã¦ãããã
å ·ä½çã«ããã¨ã2.0ã§ã2.3ã§ããCakeSession.phpã®ä¸ã«ããããã³ã¼ããããã®ã
if (isset($sessionConfig['timeout']) && !isset($sessionConfig['cookieTimeout'])) {
$sessionConfig['cookieTimeout'] = $sessionConfig['timeout'];
}
ã§ã2.0ã®ã¨ãã¯ããisset($sessionConfig[‘cookieTimeout’])ãã§å¿ ãtrueãè¿ã£ã¦ããè¨å®ã«ãªã£ã¡ãã£ã¦ãã£ã¦ãã¨ã ãã
ãã¶ãéçºãé²ãä¸ã§ãããã絶対ã«trueè¿ã£ã¦æ¥ã¡ãããï¼ãä¿®æ£ããããï¼ãçãªãã¨ããã£ããã ã¨æãã
ã¡ãªã¿ã«2.3ã®å ´åã¯ãè¨è¿°ãçç¥ããå ´åãsession.gc_maxlifetimeãtimeoutã§è¨å®ããå¤ãå ¥ããããã«ãªã£ã¦ãã
ã¦ã¼ã¶ã¼ã®è¨å®ããªãã¹ã楽ã«ãªãããããã¼ã¸ã§ã³ã¢ãããéãããã¨ã«ã¡ããã¡ããã¨é²åãã¦ããã¿ããã§ããã
è¯ãä»äºãã¦ã¾ããã¼ãCakePHPããã
ã£ã¦ãªããã§ã1.3 â 2.0 â 2.3ã¨ããæ代ã®ç§»ãå¤ããã«ä¼´ãSecurity.levelã®è©±ã§ããããããã»ã¨ãã©ã»ãã·ã§ã³æéã«é¢ãã話ã ã£ããã
ã¨ã«ãããæåã¯çµ¶å¯¾ã«å¿ è¦ãªè¨å®ã ã£ãã¯ãã®Security.levelããæ°ã¥ãããããªããªã£ã¦ãã£ã¤ã¼è©±ã£ãããä¸è»ã«ããããã¤ãããã¤ã®éã«ããã³ãå ¥ãããã§ããã«äºè»ã«è½ã¡ã人ç¥ããå¼éãã¦ãæãã ããããèããã¨ãã¡ãã£ã¨ã ãå¯ãããã¨ãªã®ãããããªããã
ã¾ãä»æ¥ã®çµè«ã¨ãã¦ã¯ãç§ã¨åã«ã ãæ°ãã¤ãã¨ãã°ãã»ãã·ã§ã³æéã¯ç°¡åã«è¨å®ã§ããããã«ãªã£ãâ¦â¦ã£ã¦ãã¨ã§ãè¯ãããããã