웹해킹 스터디

코스 전체목록

닫기

쿠키와 세션

  • cookie
  • 클라이언트(브라우저)에 데이터를 저장
  • setCookie
  • $_COOKIE
<?php
	setCookie('cookie1', '생활코딩');
	setCookie('cookie2', time(), time()+60);
?>
<?php
echo $_COOKIE['cookie1']."<br />";
echo time()-$_COOKIE['cookie2'];
?>

세션이란?

  • session
  • SID(session ID)를 식별자로 서버에 데이터를 저장
  • SID로는 쿠키나 도메인 파라미터를 사용
  • session_start(); 로 시작, 스크립트의 최상단에 위치해야 함
  • $_SESSION
  • 데이터는 서버 내에 파일이나 DB에 저장 함
  • 주로 사용자 인증시에 사용함

세션에 대한 간단한 예제

<?php
session_save_path('./session');
session_start();
$_SESSION['title'] = '생활코딩';
?>
<?php
ini_set("display_errors", "1");
session_save_path('./session');
session_start();
echo $_SESSION['title'];
echo file_get_contents('/ex.u/cep/cep/html/egoing/session/session/sess_'.session_id());
?>

로그인

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
	</head>
	<body>
		<form action="login_process.php" method="POST">
			<p><label>아이디</label><input type="text" name="id" /></p>
			<p><label>비밀번호</label><input type="text" name="pwd" /></p>

		<input type="submit" />
		</form>
	</body>
</html>
</html>

인증

<?php
session_start();
$id = 'egoing';
$pwd = 'codingeverybody';
if(!empty($_POST['id']) && !empty($_POST['pwd'])){
    if($_POST['id'] == $id && $_POST['pwd'] == $pwd){
        $_SESSION['is_login'] = true;
        $_SESSION['nickname'] = '이고잉';
        header('Location: ./session.php');
        exit;
    }
}
echo '로그인 하지 못했습니다.';
?>

일반 웹페이지

<?php
session_start();
if(!isset($_SESSION['is_login'])){
    header('Location: ./login.html');
}
?>
<html>
    <body>
        <?php echo $_SESSION['nickname'];?>님 환영합니다<br />
        <a href="./logout.php">로그아웃</a>    
    </body>
</html>
 

로그아웃

<?php
ini_set("display_errors", "1");
session_start();
session_destroy();
header('Location: ./login.html');
?>

댓글

댓글 본문
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기