 |
|
|  |
cookie(ÄíÅ°) & session(¼¼¼Ç) |
|
|
 |
12³â Àü |
ÀÎÁõ
ÀÎÁõÀ̶õ ¾î¶°ÇÑ »ç¿ëÀÚ°¡ ¾î¶°ÇÑ ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖ´Â ±ÇÇÑÀ» °¡Áö°í ÀÖ´ÂÁö¸¦ ¾Ë¾Æº¸´Â ÀýÂ÷·Î php¿¡¼´Â ÄíÅ°¿Í ¼¼¼ÇÀ» ÀÌ¿ëÇÑ´Ù.
¿¹) ·Î±×ÀÎ ÀýÂ÷
¿ë¾î
ÄíÅ° : Ŭ¶óÀ̾ðÆ®¿¡ µ¥ÀÌÅ͸¦ ÀúÀåÇÏ¿´´Ù°¡ ¼¹öÀÇ ¿äû¿¡ ÀÇÇØ ´Ù½Ã ¼¹ö·Î º¸³»ÁÖ´Â Á¤º¸
¼¼¼Ç : ÄÄÇ»ÅÍ °£ÀÇ ¿¬°áÀÌ ÀÌ·ç¾îÁø ½ÃÁ¡ºÎÅÍ ¿¬°áÀ» ²÷À» ¶§±îÁöÀÇ ½Ã°£
ÄíÅ° ±Á±â
ÄíÅ°¶õ ¹æ¹®ÀÚÀÇ ÄÄÇ»ÅÍ¿¡ ¾î¶°ÇÑ Á¤º¸¸¦ ÀúÀåÇØ ³õ´Â °ÍÀ» ¸»ÇÑ´Ù.
setcookieÇÔ¼ö´Â headerÇÔ¼ö¿Í ¸¶Âù°¡Áö·Î ÇÔ¼ö È£Ãâ Àü¿¡ ¾î¶°ÇÑ Ãâ·Â¹®µµ À־ ¾ÈµÈ´Ù.
Çü½Ä
setcookie(À̸§, °ª, Æó±â½Ã°£, °æ·Î, È£½ºÆ®, º¸¾È»ç¿ë);
´ë°Ô À̸§, °ª, Æó±â½Ã°£, °æ·ÎÀÇ 4°¡Áö º¯¼ö¸¸ »ç¿ëÇÑ´Ù.
À̸§ ÄíÅ°ÀÇ À̸§
°ª ÄíÅ°ÀÇ °ª
Æó±â½Ã°£ ÄíÅ°ÀÇ Æó±â½Ã°£(ÁÖ·Î À¯´Ð½º ŸÀÓ½ºÅÆÇÁ¸¦ »ç¿ëÇϸç, 0ÀÏ ¶§´Â À¥ ºê¶ó¿ìÀú°¡ ´ÝÈ÷¸é¼ ÄíÅ°°¡ »ç¶óÁø´Ù.)
°æ·Î ÄíÅ°°¡ Àû¿ëµÉ °æ·Î(/·Î ¼³Á¤ÇÏ¸é ¼¹öÀÇ ·çÆ® ÇÏÀ§ÀÇ Æú´õ¿¡ ¸ðµÎ Àû¿ë)
È£½ºÆ® ÄíÅ°°¡ Àû¿ëµÉ È£½ºÆ® À̸§
º¸¾È»ç¿ë HTTPS ÇÁ·ÎÅäÄÝ¿¡ ÀÇÇÑ º¸¾È Á¢¼Ó½Ã¿¡¸¸ ÄíÅ° ±Á±â
¿¹Á¦
<?
setcookie("test", "123");
?>
¸Þ¸ð
ob_start : Ãâ·Â ¹öÆÛ¸µ ±â´ÉÀ» »ç¿ëÇϵµ·Ï ÇØÁÖ´Â ÇÔ¼ö
ÀÌ ÇÔ¼ö¸¦ ÆäÀÌÁöÀÇ Ã³À½ ºÎºÐ¿¡ »ç¿ëÇϸé Ãâ·Â¹®ÀÇ Ãâ·Â ³»¿ëÀ» Ãâ·ÂÇÏÁö ¾Ê°í, ÆäÀÌÁöÀÇ ³»¿ëÀ» ¸ðµÎ ó¸®ÇÑ ´ÙÀ½¿¡ ºñ·Î¼Ò Ãâ·Â¹®ÀÇ ³»¿ëÀ» Ãâ·ÂÇÏ°Ô µÈ´Ù.
header, setcookie, session ÇÔ¼ö¿Í °°ÀÌ Ãâ·Â¹®ÀÌ ÀÖ±â Àü¿¡ »ç¿ëµÇ¾î¾ß ÇÏ´Â ÇÔ¼öÀÇ ÀÌÀü¿¡ Ãâ·Â¹®ÀÌ ÀÖ´Â °æ¿ì ob_start ÇÔ¼ö¸¦ È£ÃâÇÏ¿© Ãâ·Â¹öÆÛ¸µÀ» ½ÇÇàÇØÁÖ¸é ¿¡·¯¾øÀÌ ÀÛµ¿ÇÑ´Ù.
¿¹Á¦
<?
ob_start();
echo "String is exist here!!!"; //Ãâ·Â¹öÆÛ¿¡ ÀúÀåµÈ´Ù.
setcookie("test", 1234);
$result = ob_get_contents(); //Ãâ·Â ¹öÆÛ¿¡ ÀúÀåµÈ ³»¿ëÀ» $result¿¡ ÀúÀå
ob_end_clean(); //Ãâ·Â¹öÆÛ¸µÀ» Á¾·áÇÏ°í Ãâ·Â ¹öÆÛ¸¦ ºñ¿î´Ù.
echo $result;
?>
ÄíÅ°È®ÀÎ
Çü½Ä
$HTTP_COOKIE_VARS[ÄíÅ°À̸§]
¿¹Á¦
<?
setcookie("test", 1234);
$test = 4567;
echo $HTTP_COOKIE_VARS[test];
?>
ÄíÅ°»èÁ¦
PHP¿¡¼ ÄíÅ°°ªÀ» »èÁ¦ÇØÁÖ´Â ¸í·É¾î³ª ÇÔ¼ö´Â ¾ø´Ù. ÇÏÁö¸¸ ÄíÅ°°ªÀ» ºó°ªÀ¸·Î ±¸¿öÁÜÀ¸·Î½á ÄíÅ°¸¦ »èÁ¦ÇÒ ¼ö ÀÖ´Ù.
¿¹Á¦
<?
setcookie("test", ""); //ºê¶ó¿ìÁ®°¡ ´ÝÈ÷¸é ÄíÅ°°¡ »èÁ¦µÈ´Ù.
//setcookie("test", "", time(), "/"); //ÆäÀÌÁö ½ÇÇàÈÄ 1ÃÊ µÚ¿¡ ÄíÅ° »èÁ¦
?>
ÄíÅ°ÀÇ ¹®Á¦Á¡
ÄíÅ°¸¦ ±¸¿ï¶§´Â ¼¹ö ½Ã°£À» ±âÁØÀ¸·Î ÇöÀç ½Ã°£À» °¡Áö°í ¿ÀÁö¸¸, ÄíÅ°¸¦ Æó±âÇÒ ¶§´Â clientÀÇ ½Ã°£À» ±âÁØÀ¸·Î Æó±âÇÑ´Ù. ±×·¸±â ¶§¹®¿¡ ¼¹öÀÇ ½Ã°£°ú clientÀÇ ½Ã°£ÀÌ ´Ù¸¦ °æ¿ì ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù.
ex) 1. ¼¹ö¿¡¼ 12½Ã¿¡ 60ÃÊ Â¥¸® ÄíÅ° »ý¼º
2. client ½Ã°£Àº 12½Ã 02ºÐ...
3. ÄíÅ°´Â »ý¼ºµÇÁö ¾Ê´Â´Ù.
ÄíÅ°¸¦ ÀÌ¿ëÇÑ Ä«¿îÅÍ ¸¸µé±â
¹æ¹ý
ÄíÅ°°ªÀÇ Á¸Àç ¿©ºÎ È®ÀÎ
ÄíÅ°°ªÀÌ ¾øÀ¸¸é °ªÀ» 1·Î ÇÏ´Â ÄíÅ° »ý¼º
ÄíÅ°°ªÀÌ ÀÖÀ¸¸é ÄíÅ°°ª¿¡ 1À» Ãß°¡Çؼ ÄíÅ° »õ·Î »ý¼º
¿¹Á¦
<?
if($HTTP_COOKIE_VARS[cookie_count]){
setcookie("cookie_count", $HTTP_COOKIE_VARS[cookie_count]+1);
}else{
setcookie("cookie_count", 1);
}
// cookie °ª ȸ鿡 Ãâ·Â
$result = $HTTP_COOKIE_VARS[cookie_count] +1 ;
echo " Ä«¿îÅÍ : $result ";
?>
ÄíÅ°¸¦ ÀÌ¿ëÇÑ ·Î±×ÀÎ ¸¸µé±â
¹æ¹ý
login.php »ý¼º : ·Î±×ÀÎ ÆûÀÌ ÀÖ´Â ÆäÀÌÁö
check.php »ý¼º : ·Î±×ÀÎ ÀÛ¾÷À» ¼öÇàÇÏ´Â ÆäÀÌÁö
logout.php »ý¼º : ·Î±×¾Æ¿ô ÀÛ¾÷À» ¼öÇàÇÏ´Â ÆäÀÌÁö
¿¹Á¦
login.php
<?
if(!$HTTP_COOKIE_VARS[cookie_password_test]) {
<form method="post" action="check.php">
<input type="password" name="pwd"><br>
<input type="submit" value="login">
</form>
}else{
echo "
You've Joined !!! <br>
<a href="logout.php">logout</a>
";
}
?>
check.php
<?
$cookie_password = "1234";
if($cookie_password == $pwd) {
setcookie("cookie_password_test", "$pwd");
header("location:login.php");
}else{
echo "invalid password";
}
?>
logout.php
<?
setcookie("cookie_password_test", "");
header("location:login.php");
?>
¼¼¼Ç
¼¼¼ÇÀ̶õ Ŭ¶óÀ̾ðÆ®°¡ ¼¹ö¿¡ Á¢¼ÓÇØ ÀÖ´Â »óŸ¦ ¸»ÇÑ´Ù.
¹æ¹®ÀÚ°¡ À¥ºê¶ó¿ìÀú¸¦ openÇؼ ¼¹ö¿¡ Á¢¼ÓÇÏ°í ´Ù½Ã À¥ ºê¶ó¿ìÀú¸¦ closeÇØ ¼¹ö¿Í ¿¬°áÀ» Á¾·áÇÏ´Â ÇϳªÀÇ ´ÜÀ§¸¦ ¼¼¼ÇÀ̶ó ÇÑ´Ù.
php.iniÀÇ ¼¼¼Ç °ü·Ã ¼³Á¤
session.save_path = //¼¼¼ÇÀÌ ÀúÀåµÉ Àå¼Ò
session.use_cookies = 1 //Ŭ¶óÀ̾ðÆ®ÀÇ ÄíÅ°·Î ¼¼¼Ç ¾ÆÀ̵𸦠ÀúÀåÇÔ
session.name = //¼¼¼Ç ¾ÆÀ̵𸦠ÀúÀåÇÒ ÄíÅ° À̸§
session.auto_start = 0 // ÀÚµ¿À¸·Î ¼¼¼ÇÀ» ½ÃÀÛÇÔ
session.cookie_lifetime = 0 //¼¼¼Ç ¾ÆÀ̵𸦠ÀúÀåÇÒ ÄíÅ°ÀÇ Æó±â½Ã°£
session.cookie_path = //¼¼¼Ç ¾ÆÀ̵𸦠ÀúÀåÇÒ ÄíÅ°ÀÇ °æ·Î
session.cookie_domain = //¼¼¼Ç ¾ÆÀ̵𸦠ÀúÀåÇÒ ÄíÅ°ÀÇ µµ¸ÞÀÎ
¼¼¼ÇÀÇ ½ÃÀÛ
¼¼¼ÇÀ» »ç¿ëÇϱâ Àü¿¡´Â session_start ÇÔ¼ö¸¦ È£ÃâÇÏ¿©, ¼¼¼ÇÀÌ ½ÃÀ۵Ǵ °ÍÀ» ¾Ë·ÁÁÖ¾î¾ß ÇÑ´Ù.
Çü½Ä
session_start();
ÁÖÀÇ
¼¼¼ÇÀº Çì´õ µ¥ÀÌÅÍ(ex ÄíÅ°..)À̱⠶§¹®¿¡ ¼¼¼ÇÀ» »ç¿ëÇϱâ Àü¿¡ ¾î¶°ÇÑ Ãâ·ÂÀÌ À־ ¾ÈµÈ´Ù.
¼¼¼ÇÀÇ µî·Ï
session_start ÇÔ¼ö¸¦ È£ÃâÇÑ ´ÙÀ½¿¡, ¼¼¼ÇÀ» µî·ÏÇØÁà¾ß Çϴµ¥ À̶§ »ç¿ëÇÏ´Â ÇÔ¼ö°¡ session_registerÀÌ´Ù. ±â´ÉÀº setcookie¿Í ºñ½ÁÇÏ´Ù.
Çü½Ä
$º¯¼ö¸í = "°ª"; //º¯¼ö¸¦ »ý¼ºÇØ °ª ÇÒ´ç
session_register(º¯¼ö¸í); //º¯¼ö¸í¿¡ $°¡ ¾ø´Ù.
¶Ç´Â,
$º¯¼ö¸í1 = "°ª1";
$º¯¼ö¸í2 = "°ª2";
session_register(º¯¼ö¸í1, º¯¼ö¸í2); // ¿©·¯°³ÀÇ º¯¼ö¸¦ °¢°¢ÀÇ ¼¼¼ÇÀ¸·Î ÇѲ¨¹ø¿¡ µî·Ï °¡´ÉÇÏ´Ù.
¿¹Á¦
<?
session_start();
$session_test = "Session Test Example";
session_register(session_test);
echo "$HTTP_COOKIE_VARS[PHPSESSID]"; //¼¼¼Ç ¾ÆÀ̵ð Ãâ·Â
echo "$HTTP_COOKIE_VARS[session_test]"; //¼¼¼Ç °ª Ãâ·Â
?>
¼¼¼ÇÀÇ »èÁ¦
¼¼¼ÇÀÇ »èÁ¦´Â µî·Ï°ú °°Àº Çü½ÄÀ» »ç¿ëÇÑ´Ù.
¼¼¼ÇÀÇ »èÁ¦´Â ¸íÈ®È÷ À̾߱â ÇÏ¸é ¼¼¼Ç¿¡ µé¾îÀÖ´Â °ªÀ» ºó°ªÀ¸·Î ¸¸µå´Â °ÍÀÌ´Ù.
Çü½Ä
$º¯¼ö¸í = ""; //¼¼¼ÇÀÇ »èÁ¦´Â º¯¼ö¿¡ ºó°ªÀÌ µé¾î°£´Ù.
session_unregister(º¯¼ö¸í);
¿¹Á¦
<?
session_start();
$session_test = "";
session_unregister(session_test);
?>
¼¼¼ÇÀÇ Æó±â
¼¼¼ÇÀÇ Æó±â´Â ¼¼¼Ç ÆÄÀÏÀÌ ÀúÀåµÇ¾î ÀÖ´Â °æ·Î¿¡¼ ¼¼¼Ç ÆÄÀÏÀ» »èÁ¦ÇÑ´Ù´Â ÀǹÌÀÌ´Ù.
Çü½Ä
session_destroy();
¿¹Á¦
<?
session_start();
session_destroy();
?>
Âü°í»çÇ×
php.ini ÆÄÀÏ¿¡ ÀÖ´Â ¾Æ·¡ÀÇ µÎ °¡Áö ¼³Á¤Àº,
session_destroy()ÇÔ¼ö·Î ÀÏÀÏÀÌ ¼¼¼ÇÀ» »èÁ¦ÇÏÁö ¾Ê¾Æµµ, php°¡ ÀÚµ¿À¸·Î ¿À·¡µÈ ¼¼¼Ç µ¥ÀÌÅ͵éÀ» »èÁ¦Çϵµ·Ï ¼³Á¤ÇØÁØ´Ù.
session.gc_probability = 1 //¼¼¼Ç ÆÄÀÏ »èÁ¦ ÀÛ¾÷À» ¸î %ÀÇ ºñÀ²·Î ½ÇÇàÇÒ °ÍÀÎÁö¸¦ °áÁ¤, Áï Æó±â ÀÛ¾÷À» ½ÇÇàÇÒ ºñÀ²À» °áÁ¤
// 1Àº ¸Å¹ø ¼¼¼ÇÀ» ½ÃÀÛÇÒ ¶§, ÀüüÀÇ 1% ºñÀ²·Î Æó±âÀÛ¾÷À» ½ÇÇà
session.gc_maxlifetime = 100 //ÁöÁ¤µÈ ½Ã°£(ÃÊ ´ÜÀ§)ÀÌ Áö³ ¼¼¼ÇÀº »èÁ¦ ´ë»óÀ¸·Î °£ÁÖÇÔ, Áï ¼¼¼ÇÀÇ Æó±â½Ã°£À» °áÁ¤
¼¼¼ÇÀ» ÀÌ¿ëÇÑ Ä«¿îÅÍ ¸¸µé±â
¹æ¹ý
¼¼¼Ç°ªÀÇ Á¸Àç ¿©ºÎ È®ÀÎ
¼¼¼Ç°ªÀÌ ¾øÀ¸¸é °ªÀ» 1·Î ÇÏ´Â ¼¼¼Ç»ý¼º
¼¼¼Ç°ªÀÌ ÀÖÀ¸¸é ¼¼¼Ç°ª¿¡ 1À» Ãß°¡Çؼ ¼¼¼Ç »õ·Î »ý¼º
¿¹Á¦
<?
session_start(); //¼¼¼Ç ½ÃÀÛ
if($HTTP_SESSION_VARS[session_count]) {
$session_count = $HTTP_SESSION_VARS[session_count] + 1;
session_register(session_count);
}else{
$session_count = 1;
session_register(session_count);
}
$count = $HTTP_SESSION_VARS[session_count] + 1;
echo " Count : $count";
?> |
|
̵̧ : 561 |
̵̧
¸ñ·Ï
|
|
|  |
|