25.4. ±Û·Î¹ú ¼¼¼ÇÀÇ °ü¸®

¼¼¼ÇÀÇ µðÆúÆ®ÀÇ °Åµ¿À» º¯°æÇÏ·Á¸é ,Zend_Session ÀÇ Á¤Àû ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.±Û·Î¹ú ¼¼¼ÇÀÇ °ü¸®³ª Á¶ÀÛ¿¡´Â, ¸ðµÎ Zend_Session (À»)¸¦ »ç¿ëÇÕ´Ï´Ù.¿¹¸¦ µé¾î ext/session ÀÇ ¿É¼Ç (À»)¸¦ ¼³Á¤ÇÏ·Á¸é ,Zend_Session::setOptions() (À»)¸¦ »ç¿ëÇÕ´Ï´Ù. ¶Ç, ¾ÈÀüÇÑ save_path (À»)¸¦ »ç¿ëÇÏÁö ¾Ê°Å³ª ext/session ±×¸®°í ÀÏÀÇÀÎ Äí۸íÀ» »ç¿ëÇÏÁö ¾Ê°Å³ª Çϸé, Zend_Session::setOptions() (Àº)´Â ½ÃÅ¥·¯Æ¼ÀÇ ¹®Á¦¸¦ ÀÏÀ¸Åµ´Ï´Ù.

25.4.1. Zend_Session::setOptions()

¼¼¼Ç À̸§ °ø°£ÀÌ ¿ä±¸µÇ¸é, »çÀü¿¡ Zend_Session::start() ±×¸®°í ¸í½ÃÀûÀ¸·Î °³½ÃµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡´Â Zend_Session ÇÏÁö¸¸ ÀÚµ¿ÀûÀ¸·Î ¼¼¼ÇÀ» °³½ÃÇÕ´Ï´Ù. ±Ù¿øÀÌ µÈ´Ù PHP ¼¼¼ÇÀÇ ¼³Á¤Àº Zend_Session ÀÇ µðÆúÆ®¸¦ »ç¿ëÇÕ´Ï´Ù.À̰ÍÀ» º¯°æÇÏ·Á¸é , »çÀü¿¡ Zend_Session::setOptions() (À»)¸¦ »ç¿ëÇØ ¼³Á¤ÇØ µÓ´Ï´Ù.

¿É¼ÇÀ» °Ç³×ÁÖ·Á¸é , ±× º£À̽º¸í (session. ÀÌ¿ÜÀÇ ºÎºÐ) (À»)¸¦ »ç¿ëÇÑ ¹è¿­À» Zend_Session::setOptions() ¿¡ °Ç³×ÁÝ´Ï´Ù. ¾Æ¹«°Íµµ ¿É¼ÇÀ» ¼³Á¤ÇÏÁö ¾ÊÀ¸¸é,Zend_Session (Àº)´Â ¿ì¼± Ãßõ ¿É¼ÇÀ» »ç¿ëÇØ, ±×°ÍÀÌ ¾øÀ¸¸é php.ini ÀÇ ¼³Á¤À» »ç¿ëÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¿É¼ÇÀÇ Ãë±Þ¿¡ ´ëÇÑ ÁÁÀº ¾ÈÀÌ ÀÖÀ¸¸é, ²À fw-auth@lists.zend.com ±×¸®°í °¡¸£ÃÄ ÁÖ¼¼¿ä.

Zend_Config_Ini (À»)¸¦ »ç¿ëÇØ ".ini" ÆÄÀϷκÎÅÍ ¡¸ÀÚµ¿ÀûÀ¸·Î¡¹¼³Á¤À» ÀоîµéÀÌ·Á¸é , ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.

·Ê 25.16. Zend_Config ¿¡ ÀÇÇÑ´Ù Zend_Session ÀÇ ¼³Á¤


<?php
$config 
= new Zend_Config_Ini('myapp.ini''sandbox');
require_once 
'Zend/Session.php';
Zend_Session::setOptions($config->asArray()); 
?>

´ëÀÀÇÑ´Ù "myapp.ini" ÆÄÀÏÀº, ÀÌ¿Í °°ÀÌ µË´Ï´Ù.

·Ê 25.17. myapp.ini


;  
½ÇÀü ¼­¹öÀÇ µðÆúÆ® ¼³Á¤
[live]
; bug_compat_42
; bug_compat_warn
; cache_expire
; cache_limiter
; cookie_domain
; cookie_lifetime
; cookie_path
; cookie_secure
; entropy_file
; entropy_length
; gc_divisor
; gc_maxlifetime
; gc_probability
; hash_bits_per_character
; hash_function
; name  (Àº)´Â, °°Àº µµ¸ÞÀÎÀ» °øÀ¯ÇÑ´Ù PHP  ¾îÇø®ÄÉÀ̼ǰ£¿¡ ÀÏÀǰ¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù
name = UNIQUE_NAME
; referer_check
; save_handler
; save_path
; serialize_handler
; use_cookies
; use_only_cookies
; use_trans_sid

; remember_me_seconds = < Á¤¼öÀÇ Ãʼö>
; strict = on|off


;  Å×½ºÆ® ȯ°æÀÇ ¼³Á¤Àº ½ÇÀü ¼­¹ö¿Í °ÅÀÇ °°½À´Ï´Ù.¼³Á¤ÀÌ ´Ù¸¥ ºÎºÐ¸¸Å­À»
;  ÀÌÇÏ·Î µ¡¾²±âÇÕ´Ï´Ù
[sandbox : live]
;  ÀÌ µð·ºÅ丮¸¦ »çÀü¿¡ ÀÛ¼ºÇØ,PHP  ½ºÅ©¸³Æ®·ÎºÎÅÍ rwx ( ÀÐ°í ¾²±â °¡´É)
;  (À¸)·Î ÇØ µÎ´Â °ÍÀ» ÀØÁö ¾Êµµ·Ï ÇսôÙ
save_path = /home/myaccount/zend_sessions/myapp
use_only_cookies = on
;  ¼¼¼Ç ID  Äí۸¦ Áö¼Ó½ÃŰ´Â °æ¿ì´Â, ±× À¯È¿±â°£À» 10  ÀÏ·Î ÇÕ´Ï´Ù
remember_me_seconds = 864000

25.4.2. ¿É¼Ç

À§ÀÇ ¿¹·Î ÁØ ´ëºÎºÐÀÇ ¿É¼Ç¿¡ ´ëÇØ¼­´Â, PHP ÀÇ ¹®¼­·Î ¼³¸íµÇ°í ÀÖÀ¸¹Ç·Î, ¿©±â¼­ÀÇ ¼³¸íÀº ºÒÇÊ¿äÇϰÚÁö¿ä.

  • boolean strict - new Zend_Session_Namespace() (À»)¸¦ »ç¿ëÇÒ ¶§¿¡, Zend_Session ÇÏÁö¸¸ ÀÚµ¿ÀûÀ¸·Î °³½ÃÇÏÁö ¾Ê°Ô ÇÕ´Ï´Ù.

  • integer remember_me_seconds - À¯Àú ¿¡ÀÌÀüÆ®°¡ Á¾·áÇß´Ù ( Áï, ºê¶ó¿ìÀú°¡ ´ÝÇôÁ³´Ù) ±×¸®°í, ¾ó¸¶³ªÀÇ ±â°£ ¼¼¼Ç ID Äí۸¦ Áö¼Ó½Ãų±î.

  • string save_path - Á¤È®ÇÑ °ªÀº ½Ã½ºÅÛ¿¡ ÀÇÁ¸ÇØ, °³¹ßÀÚ°¡ ±× µð·ºÅ丮±îÁöÀÇ Àý´ë ÆÐ½º (À»)¸¦ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ µð·ºÅ丮´Â,PHP ÀÇ ÇÁ·Î¼¼½º·ÎºÎÅÍ ÀÐ°í ¾²±â °¡´ÉÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

    [
ÁÖÀÇ] ½ÃÅ¥·¯Æ¼ ¸®½ºÅ©

    ±× ÆÐ½º°¡ ´Ù¸¥ ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ Àо °¡´ÉÇÏ°Ô µÇ¾î ÀÖÀ¸¸é, ¼¼¼Ç ÇÏÀÌÀèÀÇ °¡´É¼ºÀÌ »ý±é´Ï´Ù.¶Ç, ´Ù¸¥ ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ½á °¡´ÉÇÏ°Ô µÇ¾î ÀÖÀ¸¸é, ¼Â¼ÇÆ÷ÀÌÁî´× ÀÇ °¡´É¼ºÀÌ »ý±é´Ï´Ù.ÀÌ ÆÐ½º¸¦ ´Ù¸¥ À¯Àú³ª ´Ù¸¥ PHP ¾îÇø®ÄÉÀ̼ǰú °øÀ¯Çϸé, ´Ù¾çÇÑ ½ÃÅ¥·¯Æ¼ ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ¼¼¼ÇÀÇ ³»¿ëÀ» µµµÏ¸Â°Å³ª ¼¼¼ÇÀ» µû¶óÁö°Å³ª °¡º£Áö ÄÝ·º¼ÇÀÌ Ãæµ¹Çϰųª ( ¿¹¸¦ µé¾î, ´Ù¸¥ À¯ÀúÀÇ ¾îÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ¼­,PHP ÇÏÁö¸¸ ´ç½ÅÀÇ ¾îÇø®ÄÉÀ̼ÇÀÇ ¼¼¼Ç ÆÄÀÏÀ» »èÁ¦ÇØ ¹ö¸°´Ù) µîÀÇ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.

    ¿¹¸¦ µé¾î, ¿ì¼± °ø°ÝÀÚ°¡ Èñ»ýÀÚÀÇ À¥ »çÀÌÆ®¸¦ ¹æ¹®ÇØ, ¼¼¼Ç Äí۸¦ ÃëµæÇÕ´Ï´Ù.±×¸®°í ±× ÄíŰÀÇ ÆÐ½º¸¦, µ¿ÀÏ ¼­¹ö¿¡ ÀÖ´Â ±×ÀÇ µµ¸ÞÀÎÀ¸·Î º¯°æÇÕ´Ï´Ù. ±×¸®°í ±× ÀÚ½ÅÀÇ À¥ »çÀÌÆ®¿¡ °¡ var_dump($_SESSION) (À»)¸¦ ½ÇÇàÇÕ´Ï´Ù. Èñ»ýÀÚ°¡ ¼¼¼ÇÀ¸·Î ¾î¶°ÇÑ µ¥ÀÌÅ͸¦ »ç¿ëÇϰí ÀÖ´ÂÁö¸¦ ¾Ë¸é, ´ÙÀ½Àº ¼¼¼Ç »óŸ¦ °³¼­ ( ¼Â¼ÇÆ÷ÀÌÁî´×) , ±× ¼¼¼ÇÀ» »ç¿ëÇØ ÀçÂ÷ Èñ»ýÀÚÀÇ À¥ »çÀÌÆ®¿¡ ¸®Äù½ºÆ®¸¦ º¸³À´Ï´Ù. °¢°¢ÀÇ ¾îÇø®ÄÉÀ̼ÇÀÌ, ÀÌÁ¦(¹ú½á) ÇÑÆíÀÇ ¾îÇø®ÄÉÀ̼ÇÀÇ save_path ¿¡ ´ëÇÑ ÀÐ°í ¾²±â ±ÇÇÑÀ» °¡Áö°í ÀÖÁö ¾Ê¾Ò´Ù°í ÇØµµ, ¸¸¾à save_path ÇÏÁö¸¸ ÃßÃø °¡´ÉÇÑ Àå¼Ò¿¡¼­ ÇÑÆí °ø°ÝÀÚ°¡ ¾çÂÊ ¸ðµÎÀÇ ¾îÇø®ÄÉÀ̼ÇÀ» Á¦¾îÇÒ ¼ö ÀÖ´Ù¸é, °ø°ÝÀÚ´Â ±× save_path (À»)¸¦ º¯°æÇØ ÀڽŠÂÊÀÇ save_path (À»)¸¦ »ç¿ëÇϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ÀÌ·¯ÇÑ ¼Â¼ÇÆ÷ÀÌÁî´×Àº, ÀϹÝÀûÀÎ ¼³Á¤ÀÇ PHP ±×¸®°í ½ÇÇà °¡´ÉÇÑ ÀÏÀÌ ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡,save_path ÀÇ °ªÀº, ÈçÈ÷ ÀÖ´Â Àå¼Ò¸¦ ÇÇÇϵµ·Ï(µíÀÌ) ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ¶Ç, °¢ ¾îÇø®ÄÉÀ̼ÇÀ¸·Î µû·Î µû·Î ÇØ, ¾ÈÀüÀ» È®º¸Çϵµ·Ï ÇսôÙ.

  • string name - ¿Ã¹Ù¸¥ °ªÀº ½Ã½ºÅÛ¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. ZF ¾îÇø®ÄÉÀ̼ǰ£¿¡ ÀÏÀÇ ÂªÀº °ªÀ» °³¹ßÀÚÃø¿¡¼­ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

    [
ÁÖÀÇ] ½ÃÅ¥·¯Æ¼ ¸®½ºÅ©

    php.ini (À¸)·ÎÀÇ session.name ÀÇ ¼³Á¤ÀÌ °°´Ù ( ¿¹¸¦ µé¾î µðÆúÆ®ÀÇ "PHPSESSID") ±×¸®°í, µ¿ÀÏ µµ¸ÞÀο¡ º¹¼öÀÇ PHP ¾îÇø®ÄÉÀ̼ÇÀÌ Á¸ÀçÇÏ´Â °æ¿ì (http://www.somewebhost.com/~youraccount/index.php µî) (Àº)´Â, ¾çÂÊ ¸ðµÎÀÇ À¥ »çÀÌÆ®¿¡¼­ °°Àº ¼¼¼Ç µ¥ÀÌÅ͸¦ °øÀ¯ÇÏ°Ô µÇ¾î ¹ö¸³´Ï´Ù. ÇÑÃþ ´õ ±× °á°úÀûÀ¸·Î, ¼­·ÎÀÇ ¼¼¼Ç µ¥ÀÌÅͰ¡ ÆÄ±«µÇ¾î ¹ö¸± °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.

  • boolean use_only_cookies - ÀÌÇÏ·Î ¼³¸íÇÏ´Â ½ÃÅ¥·¯Æ¼ ¸®½ºÅ©¸¦ ȸÇÇÇϱâ À§ÇØ(¶§¹®¿¡), ÀÌ ¿É¼ÇÀº µðÆúÆ®´ë·Î ÇØ µÎ¾î ÁÖ¼¼¿ä.

    [
ÁÖÀÇ] ½ÃÅ¥·¯Æ¼ ¸®½ºÅ©

    ¸¸¾à ÀÌ ¼³Á¤À» ¹«È¿·Î Çϸé, °ø°ÝÀÚ´Â °£´ÜÇÏ°Ô Èñ»ýÀÚÀÇ ¼¼¼Ç ID (À»)¸¦ ÈÉÄ¥ ¼ö ÀÖ°Ô µË´Ï´Ù.°ø°ÝÀÚÀÇ À¥ »çÀÌÆ®·Î·ÎºÎÅÍ, ¿¹¸¦ µé¾î http://www.victim-website.com/index.php?PHPSESSID=fixed_session_id (¿Í)°ú °°Àº ¸µÅ©ÇÏ´Â °ÍÀÔ´Ï´Ù.Èñ»ýÀÚ°¡ ¾ÆÁ÷ ÀÌ »çÀÌÆ®ÀÇ ¼¼¼Ç ID Äí۸¦ °¡Áö°í ÀÖÁö ¾ÊÀº °æ¿ì¿¡, ¼¼¼Ç °íÁ¤È­ °ø°ÝÀÌ ¼º°øÇÕ´Ï´Ù. Èñ»ýÀÚ°¡ ÀÌ ±âÁ¸ÀÇ ¼¼¼Ç ID (À»)¸¦ »ç¿ëÇÏ°Ô µÇ¸é, °ø°ÝÀÚ´Â ÀÌ ¼¼¼ÇÀ» »ç¿ëÇϰí Èñ»ýÀÚ°¡ µÇ¾î ³¡³», Èñ»ýÀÚ¸¦ °¡ÀåÇØ À¯Àú ¿¡ÀÌÀüÆ®¸¦ Á¶ÀÛÇÕ´Ï´Ù.

25.4.3. regenerateId()

25.4.3.1. µµÀÔ: ¼¼¼Ç ½Äº°ÀÚ

µµÀÔ: ZF ±×¸®°í ¼¼¼ÇÀ» ÀÌ¿ëÇÒ ¶§ÀÇ °¡Àå Ãßõ µÇ´Â ¹æ¹ýÀº, ºê¶ó¿ìÀúÀÇ ÄíŰ ( ºê¶ó¿ìÀú¿¡ º¸Á¸µÇ´Â, Åë»óÀÇ ÄíŰ) (À»)¸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.°³°³ÀÇ À¯Àú¸¦ ÃßÀûÇϱâ À§Çؼ­, ÀÏÀÇÀÎ ½Äº°ÀÚ¸¦ URL ¿¡ ¹¯´Â °ÍÀº, ÃßõÇÏÁö ¾Ê½À´Ï´Ù. µðÆúÆ®¿¡¼­´Â, ÀÌ ÄÄÆÛ³ÍÆ®´Â, Äí۸¸À» »ç¿ëÇØ ¼¼¼Ç ½Äº°ÀÚ¸¦ °ü¸®Çϰí ÀÖ½À´Ï´Ù. ÄíŰÀÇ °ªÀÌ, ºê¶ó¿ìÀúÀÇ ¼¼¼ÇÀÇ ÀÏÀÇÀÎ ½Äº°ÀÚ°¡ µË´Ï´Ù. PHP ÀÇ ext/session (Àº)´Â, ÀÌ ½Äº°ÀÚ¸¦ »ç¿ëÇØ À¥ »çÀÌÆ®ÀÇ ¹æ¹®ÀÚ¿ÍÀÇ ÀÏ´ëÀÏÀÇ ´ëÀÀÀ» º¸°ü À¯ÁöÇØ, °¢°¢ÀÇ ¹æ¹®ÀÚ¸¶´ÙÀÇ ¼¼¼Ç µ¥ÀÌÅ͸¦ Áö¼ÓÇØ º¸°ü À¯ÁöÇÕ´Ï´Ù. Zend_Session* (Àº)´Â, ÀÌ º¸Á¸ÀÇ ±¸Á¶ ($_SESSION) (À»)¸¦ °´Ã¼ ÁöÇâÀÇ ÀÎÅÍÆäÀ̽º·Î ·¦ ÇÑ °ÍÀÔ´Ï´Ù. À¯°¨½º·´Áö¸¸, ¸¸¾à °ø°ÝÀÚ¿¡°Ô ÄíŰÀÇ °ª ( ¼¼¼Ç ID) ÇÏÁö¸¸ ºüÁ® ¹ö¸®¸é, °ø°ÝÀÚ´Â ±× ¼¼¼ÇÀ» µû¸¦ ¼ö ÀÖ°Ô µÇ¾î ¹ö¸³´Ï´Ù. ÀÌ ¹®Á¦´Â,PHP (ÀÌ)³ª Zend Framework ¿¡ ÇÑÁ¤ÇÑ °ÍÀÌ ¾Æ´Õ´Ï´Ù. regenerateId() ¸Þ¼Òµå¸¦ »ç¿ëÇϸé, ¾îÇø®ÄÉÀ̼ÇÃø¿¡¼­ ¼¼¼Ç ID ( ¹æ¹®ÀÚÀÇ ÄíŰ¿¡ º¸Á¸µÇ´Â °ª) (À»)¸¦ »õ·Î¿î °ªÀ¸·Î º¯°æÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.ÀÌ °ªÀº, ·£´ýÀ¸·Î ¿¹Ãø ºÒ°¡´ÉÇÕ´Ï´Ù. ÁÖÀÇ: ¾ö¹ÐÇÏ°Ô ¸»ÇÏ´Â °Í°ú °°Àº °ÍÀº ¾Æ´Õ´Ï´Ù¸¸, ÀÌ ¸¶µð¿¡¼­´Â ¡¸À¯Àú ¿¡ÀÌÀüÆ®¡¹ (¿Í)°ú ¡¸À¥ ºê¶ó¿ìÀú¡¹¸¦ °°Àº Àǹ̷Π»ç¿ëÇϰí ÀÖ½À´Ï´Ù. À̰ÍÀº, Àб⠽¬¿òÀ» °í·ÁÇ߱⠶§¹®ÀÔ´Ï´Ù.

¿Ö?: °ø°ÝÀÚ¿¡°Ô ¼¼¼Ç ½Äº°ÀÚ¸¦ ¾Ë·ÁÁ® ¹ö¸®¸é, ±× °ø°ÝÀÚ´Â ´Ù¸¥ À¯Àú ( Èñ»ýÀÚ) (ÀÌ)°¡ µÇ¾î ³¡³¾ ¼ö ÀÖ°Ô µË´Ï´Ù. ±×¸®°í, ±× Èñ»ýÀÚ ¹Û¿¡ ¾×¼¼½º ÇÒ ¼ö ¾ø´Â Á¤º¸¸¦ ÃëµæÇϰųª Èñ»ýÀÚÀÇ µ¥ÀÌÅ͸¦ Á¶ÀÛÇϰųª¶ó°í Çß´ø °ÍÀÌ ´ç½ÅÀÇ ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ½Ç½ÃÇÒ ¼ö ÀÖ°Ô µÇ¾î ¹ö¸³´Ï´Ù. ¼¼¼Ç ID (À»)¸¦ º¯°æÇÏ´Â °ÍÀ¸·Î, ¼¼¼Ç ÇÏÀÌÀèÀ» ¸·À» ¼ö ÀÖ½À´Ï´Ù. ¼¼¼Ç ID (À»)¸¦ º¯°æÇÑ ´ÙÀ½Àº, º¯°æ ÈÄÀÇ °ªÀÌ °ø°ÝÀÚ¿¡°Ô ¾Ë·ÁÁöÁö ¾Ê´Â ÇÑ °ø°ÝÀÚ´Â »õ·Î¿î ¼¼¼Ç ID (À»)¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.±× °á°ú, ¹æ¹®ÀÚÀÇ ¼¼¼ÇÀ» µû¸¦ ¼ö ¾ø°Ô µË´Ï´Ù. ¸¸ÀÏ °ø°ÝÀÚ°¡ ³°Àº ¼¼¼Ç ID (À»)¸¦ ÃëµæÇß´Ù°í ÇØµµ, regenerateId() (Àº)´Â ¼¼¼Ç µ¥ÀÌÅ͸¦ ³°Àº ¼¼¼Ç ID (À¸)·ÎºÎÅÍ »õ·Î¿î ÆíÀ¸·Î ¿Å±â¹Ç·Î, ³°Àº ¼¼¼Ç ID ¿¡¼­´Â ¾î´À µ¥ÀÌÅÍ¿¡µµ ¾×¼¼½º ÇÒ ¼ö ¾ø°Ô µË´Ï´Ù.

¾ðÁ¦ regenerateId() (À»)¸¦ »ç¿ëÇÏ´Â °ÍÀΰ¡?: Zend_Session::regenerateId() (À»)¸¦ Zend Framework ÀÇ ±âµ¿ ÆÄÀÏ¿¡ Ãß°¡ÇÏ´Â °ÍÀÌ, °¡Àå ¾ÈÀüÇϰí È®½ÇÈ÷ À¯Àú ¿¡ÀÌÀüÆ®ÀÇ ÄíŰ¿¡ ÀÖ´Â ¼¼¼Ç ID (À»)¸¦ Àç»ý¼ºÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. ¼¼¼Ç ID (À»)¸¦ ¾ðÁ¦ Àç»ý¼ºÇÏ´ÂÁö¿¡ ´ëÇÑ Á¶°Ç ÆÇ´ÜÀÌ ¾ø´Â °æ¿ì´Â, ¿©±â¿¡ Ãß°¡ÇØ µÎ¸é ÁÁÀ» °ÍÀÔ´Ï´Ù. ¸®Äù½ºÆ®¸¶´Ù Àç»ý¼ºÇϵµ·Ï(µíÀÌ) ÇØ µÎ¸é °ø°Ý ÆÐÅÏÀÇ ¸î°³Àΰ¡¸¦ ¸·À» ¼ö ÀÖ½À´Ï´Ù¸¸, ¾È¿¡´Â °Å±â¿¡ µû¸¥ ÆÛÆ÷¸Õ½ºÀÇ ¿­È­³ª ³×Æ®¿öÅ© ´ë¿ª¿¡ÀÇ ºÎÇϰ¡ ½Å°æ¾²ÀÌ´Â »ç¶÷µµ ÀÖ°ÚÁö¿ä. °Å±â¼­, ¾îÇø®ÄÉÀ̼dz»¿¡¼­ ¸®½ºÅ©ÀÇ Å« °Í °°Àº °÷ÀÌ ¾îµò°¡¸¦ ÆÇ´ÜÇØ, ±× ÀÚ¸®¸é¿¡¼­¸¸ ¼¼¼Ç ID (À»)¸¦ Àç»ý¼ºÇÏ´Â °Íµµ ÀϹÝÀûÀ¸·Î ÇàÇØÁö°í ÀÖ½À´Ï´Ù. À¥ »çÀÌÆ® ¹æ¹®ÀÚÀÇ ¼¼¼ÇÀÇ ±ÇÇÑÀÌ ¡¸°Ý»óµÈ´Ù¡¹ ( ÀÚ½ÅÀÇ " ÇÁ·ÎÇÊ" (À»)¸¦ ÆíÁýÇϱâ Àü¿¡ ÀçÂ÷ ÀÎÁõÀ» ½Ç½ÃÇÏ´Â µî) ¶§³ª, ½ÃÅ¥·¯Æ¼»ó ¡¸Áß¿äÇÑ¡¹ÆÄ¶ó¹ÌÅͰ¡ º¯°æµÉ ¶§µî¿¡´Â, Ç×»ó regenerateId() ±×¸®°í »õ·Î¿î ¼¼¼Ç ID (À»)¸¦ ÀÛ¼ºÇϵµ·Ï ÇսôÙ. rememberMe() ÇÔ¼ö¸¦ ÄÝ ÇÒ ¶§ , ³»ºÎ¿¡¼­ ÀÚµ¿ÀûÀ¸·Î regenerateId() ÇÏÁö¸¸ ÄÝ µË´Ï´Ù. À¯Àú°¡ À¥ »çÀÌÆ®·ÎÀÇ ·Î±×Àο¡ ¼º°øÇϸé, regenerateId() ´ë½Å¿¡ rememberMe() (À»)¸¦ »ç¿ëÇϵµ·Ï ÇսôÙ.

25.4.3.2. ¼¼¼Ç ÇÏÀÌÀè ¹× ¼¼¼Ç °íÁ¤È­

Å©·Î½º »çÀÌÆ® ½ºÅ©¸³Æ® (XSS) Ãë¾à¼º (À»)¸¦ ÇÇÇÏ´Â °ÍÀº, ¼¼¼Ç ÇÏÀÌÀèÀ» ¸·´Â µµ¿òÀÌ µË´Ï´Ù. Secunia ÀÇ Åë°è ¿¡ ÀÇÇϸé,XSS ¹®Á¦´Â ºó¹øÈ÷ ¹ß»ýÇÕ´Ï´Ù.À̰ÍÀº, À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ °³¹ß ¾ð¾î°¡ ¹«¾ùÀ¸·Î À־ °°½À´Ï´Ù. XSS ¹®Á¦°¡ °áÄÚ ÀϾÁö ¾Ê´Â °ÍÀ» ±â´ëÇÏ´Â °Íº¸´Ùµµ, ¸¸¾à ±×°ÍÀÌ ¹ß»ýÇßÀ» °æ¿ìÀÇ ÇÇÇØ¸¦ ÃÖ¼ÒÇÑÀ¸·Î ¾ïÁ¦ÇÏ´Â ¹æ¹ýÀ» »ý°¢ÇսôÙ. XSS ÇÏÁö¸¸ ÀÖÀ¸¸é, °ø°ÝÀÚ´Â Èñ»ýÀÚÀÇ ³×Æ®¿öÅ© Æ®·¡ÇÈ¿¡ Á÷Á¢ ¾×¼¼½º ÇÒ Çʿ䰡 ¾ø¾îÁý´Ï´Ù. Èñ»ýÀÚ°¡ ¹ú½á ¼¼¼Ç Äí۸¦ ÃëµæÇϰí ÀÖ´Â °æ¿ì, Javascript XSS ÇÏÁö¸¸ ÀÖÀ¸¸é °ø°ÝÀÚ°¡ ±× Äí۸¦ Àо, ¼¼¼ÇÀ» ÈÉÄ¥ ¼ö ÀÖ°Ô µË´Ï´Ù. Èñ»ýÀÚ°¡ ¾ÆÁ÷ ¼¼¼Ç Äí۸¦ °¡Áö°í ÀÖÁö ¾ÊÀº °æ¿ì´Â, °ø°ÝÀÚ´Â XSS (À»)¸¦ »ç¿ëÇØ Javascript (À»)¸¦ ÁÖÀÔÇØ, Èñ»ýÀÚÀÇ ºê¶ó¿ìÀú¿¡ ±âÁ¸ÀÇ °ªÀÇ ¼¼¼Ç ID Äí۸¦ ÀÛ¼ºÇÕ´Ï´Ù. ±×¸®°í °°Àº Äí۸¦ °ø°ÝÀÚÀÇ ½Ã½ºÅÛÀ¸·Î ¼³Á¤ÇØ, Èñ»ýÀÚÀÇ ¼¼¼ÇÀ» µû¸¨´Ï´Ù. Èñ»ýÀÚ°¡ °ø°ÝÀÚÀÇ À¥ »çÀÌÆ®¸¦ ¹æ¹®Çϸé, °ø°ÝÀÚ´Â Èñ»ýÀÚÀÇ À¯Àú ¿¡ÀÌÀüÆ®¿¡ °üÇÑ ±× ¿ÜÀÇ Æ¯¼ºµµ¿¡¹Â·¹ÀÌÆ® ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. ´ç½ÅÀÇ ÀÛ¼ºÇÏ´Â À¥ »çÀÌÆ®¿¡ XSS Ãë¾à¼ºÀÌ ÀÖÀ¸¸é, °ø°ÝÀÚ´Â °Å±â¿¡ AJAX Javascript (À»)¸¦ °¡¸£ÃÄ, ¸ð¸£´Â »çÀÌ¿¡ °ø°ÝÀÚÀÇ À¥ »çÀÌÆ®¸¦ ¡¸¹æ¹®¡¹½ÃÄÑ ¹ö¸®´Â °ÍÀÌ °¡´ÉÇÏ°Ô µË´Ï´Ù. °ø°ÝÀÚ´Â °Å±â¿¡ µû¶ó Èñ»ýÀÚÀÇ ºê¶ó¿ìÀúÀÇ Æ¯¼ºÀ» ÃëµæÇØ, °³ÂùµÈ ¼¼¼ÇÀ¸·Î À¥ »çÀÌÆ®¿¡ ¾×¼¼½º ÇÏ°Ô µË´Ï´Ù. ±×·¯³ª, °³¹ßÀÚ°¡ save_path ¿É¼Ç¿¡ ¿Ã¹Ù¸¥ °ªÀ» ¼³Á¤ÇØ µÎ¸é, °ø°ÝÀÚ´Â PHP ¼¼¼ÇÀÇ ¼­¹öÃø »óŸ¦ ÀÓÀÇ·Î º¯°æÇÒ ¼ö ÀÖ´Â °ÍÀº ¾ø°Ô µË´Ï´Ù.

±×°Í ´Üü¿¡¼­´Â, ¼¼¼ÇÀ» ÃÖÃÊ·Î »ç¿ëÇÒ ¶§¿¡ Zend_Session::regenerateId() (À»)¸¦ ÄÝ ÇØµµ ¼¼¼Ç °íÁ¤È­ °ø°ÝÀº ¸·À» ¼ö ¾ø½À´Ï´Ù.±× ¼¼¼ÇÀÌ, °ø°ÝÀÚ¿¡ ÀÇÇØ¼­ À§ÀåµÈ °ÍÀÏÁö¸¦ ÆÇº°ÇÒ ¼ö ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. ¹æ±ÝÀü ¼³¸íÇÑ °Í °ú´Â ¸ð¼øµÇ°í ÀÖ´Â °Íó·³ ´À²¸ÁúÁöµµ ¸ð¸¨´Ï´Ù. ±×·¯³ª ¿©±â¼­, °ø°ÝÀÚ ÀÚ½ÅÀÌ ¿ì¼± ÃÖÃÊ·Î ´ç½ÅÀÇ À¥ »çÀÌÆ®ÀÇ ¼¼¼ÇÀ» °³½ÃÇßÀ» °æ¿ì¸¦ »ý°¢ÇØ º¾½Ã´Ù. ¼¼¼ÇÀ» " ÃÖÃÊ·Î »ç¿ë" ÇÏ´Â °ÍÀº °ø°ÝÀÚÀÔ´Ï´Ù. ±×·¯ÀÚ(¸é) ±×´Â,(regenerateId() ¿¡ ÀÇÇÑ´Ù) ÃʱâÈ­ÀÇ °á°ú¸¦ ¾Ë°Ô µË´Ï´Ù. ±× ÈÄ, °ø°ÝÀÚ³ª »õ·Î¿î ¼¼¼Ç ID (¿Í)°ú XSS Ãë¾à¼ºÀ» Á¶ÇÕÇØ »ç¿ëÇÏ´ÂÁö, ȤÀº ÀÚ½ÅÀÇ À¥ »çÀÌÆ®¿¡ ±× ¼¼¼Ç ID (À»)¸¦ »ç¿ëÇÑ ¸µÅ©¸¦ ¹¯½À´Ï´Ù ( À̰ÍÀº,use_only_cookies = off ÀÇ °æ¿ì¿¡°Ô¸¸ µ¿ÀÛÇÕ´Ï´Ù) .

°°Àº ¼¼¼Ç ID (À»)¸¦ »ç¿ëÇϰí ÀÖ´Â °æ¿ì¿¡ °ø°ÝÀÚ¿Í Èñ»ýÀÚ¸¦ ±¸º°ÇÒ ¼ö ÀÖÀ¸¸é, ¼¼¼Ç ÇÏÀÌÀèÀ» Á÷Á¢ ÇàÇÒ ¼ö ¾ø°Ô µË´Ï´Ù. ±×·¯³ª, ±×·¯ÇÑ ±¸º°À» ½Ç½ÃÇϸé, usability°¡ Èñ»ýÀÌ µÇ¾î ¹ö¸®´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ±¸º°Çϱâ À§ÇÑ ¹æ¹ýÀÌ ¸íÈ®ÇÏÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, ÃÖÃÊ·Î ¼¼¼ÇÀÌ ÀÛ¼ºµÇ¾úÀ» ¶§¿Í´Â ´Ù¸¥ ³ª¶ó¿¡ ¼ÓÇÑ´Ù IP ÁּҷκÎÅÍ ¸®Äù½ºÆ®¸¦ ¹Þ¾ÒÀ» °æ¿ì, ±× ¸®Äù½ºÆ®´Â ¾Æ¸¶ °ø°ÝÀڷκÎÅÍÀÇ °ÍÀ̶ó°í »ý°¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, ´ÙÀ½°ú °°Àº Á¶°ÇÀÇ ¾Æ·¡¿¡¼­´Â, À¥ »çÀÌÆ®·ÎÀÇ ¾×¼¼½º°¡ Èñ»ýÀڷκÎÅÍÀÇ °ÍÀΰ¡ °ø°ÝÀڷκÎÅÍÀÇ °ÍÀΰ¡¸¦ ±¸º°ÇÏ´Â ¹æ¹ýÀº ¾ø½À´Ï´Ù.

  • - °ø°ÝÀÚ°¡, ¿ì¼± ´ç½ÅÀÇ À¥ »çÀÌÆ®¿¡ ¾×¼¼½º ÇØ, À¯È¿ÇÑ ¼¼¼Ç ID (À»)¸¦ ÃëµæÇÑ´Ù

  • - ´ç½ÅÀÇ À¥ »çÀÌÆ®ÀÇ XSS Ãë¾à¼ºÀ» »ç¿ëÇϰí, ÃëµæÇÑ °Í°ú °°Àº ¼¼¼Ç ID ÀÇ Äí۸¦ Èñ»ýÀÚÀÇ ºê¶ó¿ìÀú¿¡ ¼Û½ÅÇÑ´Ù ( ¼¼¼ÇÀÇ °íÁ¤È­)

  • - Èñ»ýÀÚ¿Í °ø°ÝÀÚ°¡, °°Àº ÇÁ·Ï½Ã±ºÀ¸·ÎºÎÅÍ ¾×¼¼½º Çϰí ÀÖ´Ù ( ¾çÂÊ ¸ðµÎ°¡ AOL (¿Í)°ú °°Àº ´ë±â¾÷ÀÇ ÆÄÀÌ¾î ¿ù(fire wall)³»¿¡ ÀÖ´Â °æ¿ì µî)

ÀÌÇÏÀÇ »ùÇà ÄÚµå¿Í °°ÀÌ Çϸé, °ø°ÝÀÚ°¡ Èñ»ýÀÚÀÇ ÇöÀçÀÇ ¼¼¼Ç ID (À»)¸¦ ¾Æ´Â °ÍÀÌ ÈξÀ °ï¶õÇÏ°Ô µË´Ï´Ù. ´Ù¸¸, À§¿¡¼­ ¼³¸íÇÑ ÃÖÃÊÀÇ µÎ ½ºÅÜÀ» ½ÇÇàÇϰí ÀÖÁö ¾Ê´Â °æ¿ì¿¡ ÇÑÁ¤ÇÕ´Ï´Ù.

·Ê 25.18. ÀÍ¸í ¼¼¼Ç ¹× ¼¼¼Ç °íÁ¤È­


<?php
require_once 'Zend/Session.php';
$defaultNamespace = new Zend_Session_Namespace();
 
if (!isset(
$defaultNamespace->initialized))

    
Zend_Session::regenerateId(); 
    
$defaultNamespace->initialized true;

?>

25.4.4. rememberMe(integer $seconds)

Åë»óÀº, ¼¼¼ÇÀÌ ³¡³ª´Â °ÍÀº À¯Àú°¡ ¡¸¼¼¼Ç¡¹ (À»)¸¦ Á¾·áÇßÀ» ¶§, Áï ºê¶ó¿ìÀúÀÇ À©µµ¿ì¸¦ ´Ý¾ÒÀ» ¶§ÀÔ´Ï´Ù. ±×·¯³ª, ´ç½ÅÀÇ À¥ »çÀÌÆ®¿¡ ·Î±×ÀÎÇÑ À¯Àú´Â, ·Î±×ÀÎÇÑ »óŸ¦ Âß (24 ½Ã°£ ȤÀº ±× ÀÌ»ó) º¸°ü À¯ÁöÇØ µÎ°í ½Í´Ù°í »ý°¢ÇÒÁöµµ ¸ð¸¨´Ï´Ù. °Ô½ÃÆÇ ¼ÒÇÁÆ®¿þ¾î´Â ÀϹÝÀûÀ¸·Î, ¼¼¼ÇÀ» Áö¼Ó½ÃŰ´Â ±â°£À» À¯Àú°¡ ¼±ÅÃÇÒ ¼ö ÀÖ°Ô µÇ¾î ÀÖ½À´Ï´Ù. Zend_Session::rememberMe() (À»)¸¦ »ç¿ëÇϸé, °»½ÅÇÑ ¼¼¼Ç Äí۸¦ À¯Àú¿¡°Ô ¼Û½ÅÇÕ´Ï´Ù. ±× À¯È¿±â°£Àº,remember_me_seconds ¿¡ ÀÇÇØ¼­ Á¤ÇØÁ®, µðÆúÆ®´Â 2ÁÖ°£ÀÔ´Ï´Ù.ÀÌ ±â°£À» º¯°æÇÏ·Á¸é Zend_Session::setOptions() (À»)¸¦ »ç¿ëÇÕ´Ï´Ù. ¼¼¼ÇÀÇ °íÁ¤È­/ µû¶ó (À»)¸¦ ¸·À¸·Á¸é , À¯Àú°¡ ÀÎÁõÀ» Åë°úÇØ ¾îÇø®ÄÉÀ̼ÇÀÌ ¡¸·Î±×ÀΡ¹ (À»)¸¦ ½Ç½ÃÇÒ ¶§¿¡ ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù.

25.4.5. forgetMe()

ÀÌ ÇÔ¼ö´Â rememberMe() (À»)¸¦ º¸¿ÏÇÏ´Â °ÍÀÔ´Ï´Ù. ¼¼¼Ç ÄíŰÀÇ À¯È¿±â°£À» º¯°æÇØ, À¯Àú ¿¡ÀÌÀüÆ®ÀÇ ¼¼¼ÇÀÌ Á¾·áÇß´Ù ( À¯Àú°¡ ºê¶ó¿ìÀú À©µµ¿ì¸¦ ´Ý¾Ò´Ù) ¶§¿¡ À¯È¿±â°£ÀÌ ²÷¾îÁöµµ·Ï(µíÀÌ) ÇÕ´Ï´Ù.

25.4.6. sessionExists()

ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇϰí, ÇöÀçÀÇ À¯Àú ¿¡ÀÌÀüÆ®/ ¸®Äù½ºÆ® ¿¡ ´ëÀÀÇÏ´Â ¼¼¼ÇÀÌ ÀÌ¹Ì Á¸ÀçÇÒÁö¸¦ Á¶»çÇÕ´Ï´Ù. À̰ÍÀº ¼¼¼ÇÀ» °³½ÃÇϱâ Àü¿¡ »ç¿ëÇÕ´Ï´Ù.±× ¿ÜÀÇ Zend_Session ¹× Zend_Session_Namespace ÀÇ ¸Þ¼Òµå¿Í´Â µ¶¸³Çϰí ÀÖ½À´Ï´Ù.

25.4.7. destroy(bool $remove_cookie = true, bool $readonly = true)

Zend_Session::destroy() (Àº)´Â, ÇöÀçÀÇ ¼¼¼Ç¿¡ °ü·Ã ºÙÀÏ ¼ö ÀÖ¾î ¸ðµç Áö¼ÓÀû µ¥ÀÌÅ͸¦ ÆÄ±âÇÕ´Ï´Ù. ±×·¯³ª,PHP ÀÇ º¯¼öÀÇ °ªÀº ¾î¶² ¿µÇâµµ ¹ÞÁö ¾Ê½À´Ï´Ù. µû¶ó¼­, À̸§ °ø°£Æ÷ÇÔÀÇ ¼¼¼Ç (Zend_Session_Namespace ÀÇ ÀνºÅϽº) (Àº)´Â Àоîµé¿© °¡´ÉÇÑ »óÅÂÀΠäÀÔ´Ï´Ù. ¡¸·Î±×¾Æ¿ô¡¹À» ½Ç½ÃÇÏ·Á¸é , ¿É¼ÇÀÇ ÆÄ¶ó¹ÌÅ͸¦ true ( µðÆúÆ®´Â true ÀÔ´Ï´Ù) (À¸)·Î ¼³Á¤ÇØ, À¯Àú ¿¡ÀÌÀüÆ®ÀÇ ¼¼¼Ç ID Äí۸¦ »èÁ¦ÇÕ´Ï´Ù. ¿É¼ÇÀÇ ÆÄ¶ó¹ÌÅÍ $readonly (À»)¸¦ »ç¿ëÇϸé,Zend_Session_Namespace ÀÇ ÀνºÅϽº³ª Zend_Session ÀÇ ¸Þ¼Òµå·ÎºÎÅÍ ¼¼¼Ç µ¥ÀÌÅÍ ($_SESSION) ¿¡ÀÇ ±âÀÔÀ» ÇÒ ¼ö ¾ø°Ô µË´Ï´Ù.

[
ÁÖÀÇ] ¿¹¿Ü/ ¿¡·¯

µðÆúÆ®¿¡¼­´Â $readonly ÇÏÁö¸¸ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡, ¼¼¼Ç µ¥ÀÌÅÍ¿¡ÀÇ ±âÀÔÀ» Æ÷ÇÔÇÑ Á¶ÀÛÀ» ½Ç½ÃÇϸé, ¿¡·¯¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.

25.4.8. stop()

ÀÌ ¸Þ¼Òµå´Â, ´ÜÁö Zend_Session ÀÇ Ç÷¡±×¸¦ ¹Ù²Ù¾î ¼¼¼Ç µ¥ÀÌÅÍ ($_SESSION) ¿¡ÀÇ ±âÀÔÀ» ÇÒ ¼ö ¾ø°Ô ÇÒ ¸¸ÇÑ °ÍÀÔ´Ï´Ù. ±× ¿Ü ¾î¶°ÇÑ ±â´ÉÀ» ½ÇÀåÇұ ´ëÇØ¼­´Â, Çǵå¹éÀ» Á¢¼öÁßÀÔ´Ï´Ù. ÀáÀçÀûÀÎ »ç¿ë¹ýÀ¸·Î¼­´Â, ÀϽÃÀûÀ¸·Î Zend_Session_Namespace ÀνºÅϽº³ª Zend_Session ÀÇ ¸Þ¼Òµå·ÎºÎÅÍ ¼¼¼Ç µ¥ÀÌÅÍ¿¡ ¾µ ¼ö ¾ø°Ô ÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, ½ÇÇàÀº ºä °ü·ÃÀÇ Äڵ忡 À̾çµË´Ï´Ù. ÀÌ·¯ÇÑ ÀνºÅϽº³ª ¸Þ¼Òµå·ÎºÎÅÍÀÇ ±âÀÔÀ» Æ÷ÇÔÇÑ ¾×¼ÇÀº, ¿¡·¯¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.

25.4.9. writeClose($readonly = true)

¼¼¼ÇÀ» Á¾·áÇØ, ³»¿ëÀ» ¾´ ÈÄ¿¡ $_SESSION (À»)¸¦ ¿¬±¸ ÃÖÁ¾ ´Ü°èºÎÅÍ ¶¼¾î³À´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ÀÌ ¸®Äù½ºÆ®¿¡ À־ÀÇ ³»ºÎ µ¥ÀÌÅÍÀÇ º¯È¯ÀÌ Á¾·áÇÕ´Ï´Ù. ¿É¼ÇÀÇ ÆÄ¶ó¹ÌÅÍ $readonly (À»)¸¦ »ç¿ëÇϸé, ±âÀÔ ±ÇÇÑÀ» ¾ø¾Û´Ï´Ù (Zend_Session_Namespace (ÀÌ)³ª Zend_Session ÀÇ ¸Þ¼Òµå·ÎºÎÅÍ ±âÀÔÀ» ½ÃµµÇϸé, ¿¡·¯¸¦ ½½·Î¿ì ÇÕ´Ï´Ù) .

[
ÁÖÀÇ] ¿¹¿Ü/ ¿¡·¯

µðÆúÆ®¿¡¼­´Â $readonly ÇÏÁö¸¸ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡, ¼¼¼Ç µ¥ÀÌÅÍ¿¡ÀÇ ±âÀÔÀ» Æ÷ÇÔÇÑ Á¶ÀÛÀ» ½Ç½ÃÇϸé, ¿¡·¯¸¦ ½½·Î¿ì ÇÕ´Ï´Ù. ±×·¯³ª, ±âÁ¸ÀÇ ¾îÇø®ÄÉÀ̼Ǿȿ¡´Â, session_write_close() ±×¸®°í ¼¼¼ÇÀ» Á¾·áÇÑ ´ÙÀ½¿¡µµ $_SESSION ¿¡ ½á °¡´ÉÇÑ °ÍÀ» »óÁ¤Çϰí ÀÖ´Â °Íµµ ÀÖ°ÚÁö¿ä. À̰ÍÀÌ ¡¸ÃÖÀûÀÎ ¹æ¹ý¡¹À̶ó°í´Â »ý°¢ÇÏÁö ¾Ê½À´Ï´Ù¸¸, ±×·¯ÇÑ °æ¿ì¸¦ À§Çؼ­ $readonly ¿É¼ÇÀ» ÁغñÇØ µÓ´Ï´Ù.

25.4.10. expireSessionCookie()

ÀÌ ¸Þ¼Òµå´Â, À¯È¿±â°£ Á¶°¢ÀÇ ¼¼¼Ç ID Äí۸¦ ¼Û½ÅÇØ, Ŭ¶óÀ̾ðÆ®Ãø¿¡¼­ ¼¼¼Ç Äí۸¦ »èÁ¦½Ãŵ´Ï´Ù. ÀÌ Å×Å©´ÐÀ» ÀÌ¿ëÇϰí, Ŭ¶óÀ̾ðÆ®Ãø¿¡¼­ÀÇ ·Î±×¾Æ¿ô ±â´ÉÀ» ½ÇÇöÇϱ⵵ ÇÕ´Ï´Ù.

25.4.11. setSaveHandler(Zend_Session_SaveHandler_Interface $interface)

´ëºÎºÐÀÇ °³¹ßÀÚ¿¡°Ô À־´Â, µðÆúÆ®ÀÇ º¸Á¸ Çڵ鷯·Î ÃæºÐÇϰÚÁö¿ä. ÀÌ ¸Þ¼Òµå´Â, session_set_save_handler() ÀÇ °´Ã¼ ÁöÇâ ·¡ÆÛÀÔ´Ï´Ù.

25.4.12. namespaceIsset($namespace)

ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇϰí, ¼¼¼Ç À̸§ °ø°£ÀÌ Á¸ÀçÇÒÁö¸¦ Á¶»çÇÕ´Ï´Ù. ȤÀº, ƯÁ¤ÀÇ À̸§ °ø°£¿¡ ƯÁ¤ÀÇ À妽º°¡ Á¸ÀçÇÒÁö¸¦ Á¶»çÇÕ´Ï´Ù.

[
ÁÖÀÇ] ¿¹¿Ü/ ¿¡·¯

Zend_Session ÇÏÁö¸¸ Àо °¡´ÉÇÏ°Ô ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì (Zend_Session ÇÏÁö¸¸ °³½ÃµÇ±â Àü µî) ¿¡ ¿¡·¯°¡ ½½·Î¿ì µË´Ï´Ù.

25.4.13. namespaceUnset($namespace)

ƯÁ¤ÀÇ À̸§ °ø°£ÀÇ Zend_Session ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ±× ÁßÀÇ ¿£Æ®¸®¸¦ ¼ø¼­¿¡ ÃʱâÈ­ÇØ ³ª°¡´Â ´ë½Å¿¡, Zend_Session::namespaceUnset($namespace) (À»)¸¦ »ç¿ëÇϸé, À̸§ °ø°£ Àüü ¹× ±× ³»¿ëÀ» È¿À²ÀûÀ¸·Î ÃʱâÈ­ ( »èÁ¦) ÇÒ ¼ö ÀÖ½À´Ï´Ù. PHP ÀÇ ¸ðµç ¹è¿­°ú °°ÀÌ, ¹è¿­À» Æ÷ÇÔÇÑ º¯¼ö¸¦ ÃʱâÈ­ÇØµµ ¹è¿­ÀÇ ³»¿ëÀÇ ¿ÀºêÁ§Æ®±îÁö´Â ÃʱâÈ­µÇÁö ¾Ê½À´Ï´Ù. ¸¸¾à ±× ¿ÀºêÁ§Æ®¿¡ÀÇ ÂüÁ¶°¡ ´Ù¸¥ ¹è¿­/ ¿ÀºêÁ§Æ®¿¡µµ °Ý³³µÇ°í ÀÖ¾ú´Ù°í Çϸé, ±× ÂÊ °æÀ¯·Î ¿ÀºêÁ§Æ®ÀÇ ³»¿ë¿¡ ¾×¼¼½º °¡´ÉÇÏ°Ô µË´Ï´Ù. µû¶ó¼­,namespaceUnset() ¿¡ ÀÇÇØ¼­ À̸§ °ø°£ÀÇ ¿£Æ®¸®ÀÇ ³»¿ëÀÌ " ±íÀº ·¹º§±îÁö" ½ÇÁ¦·Î »èÁ¦µÉ °ÍÀº ¾ø½À´Ï´Ù. ÇÑÃþ ´õ »ó¼¼ÇÑ Á¤º¸´Â,PHP ¸Þ´º¾ó·ÎÀÇ ÂüÁ¶¿¡ °üÇÑ ¼³¸í (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.

[
ÁÖÀÇ] ¿¹¿Ü/ ¿¡·¯

À̸§ °ø°£ÀÌ Àо °¡´ÉÇÏ°Ô ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì (destroy() ÀÇ ÈÄ µî) ¿¡ ¿¡·¯°¡ ½½·Î¿ì µË´Ï´Ù.

25.4.14. namespaceGet($namespace, $name = null)

ºñÃßõ: Zend_Session_Namespace ÀÇ getIterator() (À»)¸¦ »ç¿ëÇսôÙ.ÀÌ ¸Þ¼Òµå´Â,$namespace ÀÇ ³»¿ëÀ» ¹è¿­·Î µ¹·ÁÁÝ´Ï´Ù.ÀÌ ¸Þ¼Òµå¸¦ ¿ÜºÎ·ÎºÎÅÍ °è¼Ó »ç¿ëÇÏ°í ½Í´Ù°í ÇÑ´Ù ³í¸®ÀûÀÎ ÀÌÀ¯°¡ ÀÖ´Â °æ¿ì´Â, ¸ÞÀϸµ ¸®½ºÆ® fw-auth@lists.zend.com ¿¡ Çǵå¹éÀ» ºÎŹÇÕ´Ï´Ù. ¡¦¡¦¶ó°í ÇÏ´ÂÁö, ¾î¶² Àç·á¶óµµ ÁÁ±â ¶§¹®¿¡ ¸ÞÀϸµ ¸®½ºÆ®¿¡ Âü°¡ÇØ ÁÖ¼¼¿ä (^o^)

[
ÁÖÀÇ] ¿¹¿Ü/ ¿¡·¯

Zend_Session ÇÏÁö¸¸ Àо °¡´ÉÇÏ°Ô ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì (Zend_Session ÇÏÁö¸¸ °³½ÃµÇ±â Àü µî) ¿¡ ¿¡·¯°¡ ½½·Î¿ì µË´Ï´Ù.

25.4.15. getIterator()

getIterator() (À»)¸¦ »ç¿ëÇϰí, ÀüÀ̸§ °ø°£ÀÇ À̸§À» Æ÷ÇÔÇÑ ¹è¿­À» ÃëµæÇÕ´Ï´Ù.

·Ê 25.19. ¸ðµç À̸§ °ø°£ÀÇ ÃʱâÈ­


<?php
foreach(Zend_Session::getIterator() as $space) {
    try {
        
$core->namespaceUnset($space);
    } catch (
Zend_Session_Exception $e) {
        return; 
// Zend_Session::stop()  ÇÏÁö¸¸ ½ÇÇàµÇ°í ÀÖ´Â °æ¿ì¿¡ ¹ß»ýÇÕ´Ï´Ù
    
}
}

?>
[
ÁÖÀÇ] ¿¹¿Ü/ ¿¡·¯

Zend_Session ÇÏÁö¸¸ Àо °¡´ÉÇÏ°Ô ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì (Zend_Session ÇÏÁö¸¸ °³½ÃµÇ±â Àü µî) ¿¡ ¿¡·¯°¡ ½½·Î¿ì µË´Ï´Ù.