agencies

PHP 쿠키와 세션 본문

Ⅲ. 정보보안

PHP 쿠키와 세션

agencies 2024. 2. 10. 15:53

쿠키(cookie)는 사용자가 웹 페이지에 접속할 때 웹 서버가 사용자의 컴퓨터에 저장하는 작은 양의 데이터이다.

웹 페이지에서는 쿠키를 확인하여 로그인 상태나 장바구니에 상품이 담겨 있는지를 확인할 수 있다.

웹 서버는 쿠키를 사용자의 컴퓨터에 저장한 뒤 쿠키가 필요할 때 사용자의 컴퓨터에 요청하고

사용자의 컴퓨터는 저장된 쿠키를 웹 서버에 전송한다.

 

쿠키는 사용자의 컴퓨터에 텍스트 파일 형태로 저장되며 주로 다음과 같은 목적으로 사용한다.

- 특정 웹 사이트를 재방문하거나 웹 사이트 내의 다른 페이지로 이동할 때 다시 로그인할 필요가 없다.

- 사용자의 컴퓨터에서 아이디나 비밀번호를 기억한다.

- 사용자의 웹 페이지 이용 패턴을 분석한다.

 

 

쿠키 생성하기

<?php
$a = setcookie("id", "test");
$b = setcookie("name", "ukpt", time()+60);

if($a and $b)
{
echo "쿠키 id와 name 생성 완료<br>";
}
?>

$b 인 경우 60초(1분)간 지속됩니다.

 

setcookie() 함수를 이용하여 쿠키를 생성했습니다.

이번에는 쿠키를 삭제해보겠습니다.

<?php
$a = setcookie("id", "test");
$b = setcookie("name", "ukpt", time()+60);

setcookie("id", "", time()-3600);
setcookie("name", "", time()-3600);

if($a and $b)
{
echo "id와 name의 쿠키가 삭제되었습니다.";
}
?>

 

유효 시간을 현재 시간보다 1시간 짧게 설정하여 쿠키 유효 시간을 과거 시간으로 설정합니다.


세션

사용자의 컴퓨터에 정보가 저장되는 쿠키와 달리 세션은 보안을 이유로 사용자의 컴퓨터와 웹 서버에 모두 정보를 저장합니다. 웹 사이트를 방문하는 사용자의 컴퓨터에는 세션 ID 정보를 저장하고 웹 서버에는 사용자의 컴퓨터 세션 ID에 대응되는 세션 정보를 저장합니다. 사용자의 컴퓨터 세션 ID가 유출되더라도 별다른 정보가 없고 주요 정보가 웹 서버에 저장되어 있기 때문에 쿠키보다 보안성이 강합니다.

 

세션 등록하기

<?php
session_start();

$_SESSION["userid"] = "ukpt";
echo $_SESSION["userid"];
?>

 

세션 초기화 : 세션을 사용하려면 반드시 session_start()로 초기화를 해야 됩니다.

세션 등록 : 세션 변수를 등록할 때 배열 형태의 전역 변수인 $_SESSION[]의 인덱스에 세션 변수의 이름을 넣어 등록합니다.

 

세션을 삭제하려면 unset() 함수를 사용합니다.

<?php
session_start();

$_SESSION["userid"] = "ukpt";
unset($_SESSION["userid"]);
echo $_SESSION["userid"];
?>

 

 

'Ⅲ. 정보보안' 카테고리의 다른 글

HTML 이미지 맵으로 포스트 만들기  (0) 2024.02.11
HTML 인코딩 표(특수기호)  (0) 2024.02.11
PHP 파일 업로드  (0) 2024.02.10
PHP 프로그래밍  (0) 2024.02.10
악성 코드의 개념  (1) 2024.02.08