기본 개념
SetCookie.php
<!--
Cookie
사용자가 웹 페이지에 접속할 때 웹 서버가 사용자의 컴퓨터에 저장하는 작은 양의 데이터
웹 페이지에서는 쿠키를 확인하여 로그인 상태나 장바구니에 상품이 담겨 있는지를 확인
웹 서버는 쿠키를 사용자의 컴퓨터에 저장한 뒤 쿠키가 필요할 때 사용자의 컴퓨터에 요청하고 사용자의 컴퓨터는 저장된 쿠키를 웹 서버에 전송
웹 서버 사용자의 컴퓨터
데이터의 위치 O
쿠키의 위치 O
데이터 가공 O
쿠키는 사용자의 컴퓨터에 텍스트 파일 형태로 저장되며 주로 다음과 같은 목적으로 사용
특정 웹 사이트를 재방문하거나 웹 사이트 내 다른 페이지 이동 시 다른 로그인 할 필요없음
사용자의 컴퓨터에서 아이디나 비밀번호 기억
사용자의 웹 페이지 이용 패턴 분석
-->
<?php
//name = 설정할 쿠키의 이름
//value = 쿠키에 저장될 이름
//expire = 유효 시간을 설정하는 함수
//path = 쿠키를 사용할 수 있는 범위 지정
//setcookie(name, value, expire, path);
//cookie 라는 이름으로 1004라는 데이터를 저장하고 60초만 쿠키 보존 하고
// 슬러쉬로 디렉터리를 지정 하여 상위 디렉토리에서도 쿠키를 사용할수 있게 처리
setcookie("cookie", "Oreo", 60+time(), "/");
?>
<a href="GetCookie.php">쿠기 저장 결과 확인</a>
GetCookie.php
<?php
echo("$_COOKIE[cookie]");
echo "<br>";
?>
쿠키에 키와 벨류로 저장결과
SetSession.php
<!--
세션(Session)이란?
사용자의 컴퓨터에 정보가 저장되는 쿠키와 달리 세션(session)은 보안을 이유로 사용자의 컴퓨터와 웹 서버에 모두 정보를 저장
웹 사이트를 방문하는 사용자의 컴퓨터에는 세션 ID(SID)정보를 저장하고, 웹 서버에는 사용자의 컴퓨터 세션 ID에 대응되는 세션 정보를 저장
사용자의 컴퓨터 세션 ID가 유출되더라도 별다른 정보가 없고 주요 정보가 웹 서버에 저장되어 있기 때문에 쿠키보다 보안성이 강함
웹 서버 사용자의 컴퓨터 비고
데이터의 위치 O
세션 정보의 위치 O O 서로 대응되는 정보(같지 않음)
데이터 가공 O
-->
<?php
// session_start()로 초기화해야 세션을 사용 가능
// 배열 형태의 전역 변수인 $_SESSION[]의 인덱스에 세션 변수의 이름을 넣어 등록
session_start();
$_SESSION["userid"]="SessionID";
$_SESSION["username"]="SessionName";
?>
<a href="GetSession.php">세션 저장 결과 확인</a>
GetSeesion.php
<?php
session_start();
$userid=$_SESSION["userid"];
$username=$_SESSION["username"];
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
등록된 세션(userid) : <?=$userid?><br>
등록된 세션(username) : <?=$username?><br>
</body>
</html>
세션에 저장결과<br>
<a href="UnsetSession.php">세션 삭제</a>
UnsetSession.php
<?php
// unset() 함수를 사용하여 세션을 삭제
session_start();
unset($_SESSION["userid"]);
unset($_SESSION["username"]);
echo $_SESSION["userid"]; //<error>
echo $_SESSION["username"]; //<error>
?>
정리 </br>
쿠키(Cookie) : 클라이언트 메모리에 저장 </br>
세션(Session) : 서버 메모리에 저장
'php' 카테고리의 다른 글
PHP) 페이지 클래스(Pagination) (0) | 2022.03.05 |
---|---|
php) mysql 연동 insert, select, update, delete (CRUD) (0) | 2022.03.02 |
php) File IO 업로드/다운로드 (0) | 2022.02.27 |
php) 클래스, 함수, 생성자, array를 활용한 CRUD (0) | 2022.02.26 |
php) 배열 (0) | 2022.02.26 |