일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 국가기록원
- UKPT
- 12기
- Los
- 경기팀
- nurisec
- MITRE ATT&CK
- 웹 해킹 입문
- 연구모임
- 대외활동
- 여행
- codeup
- UKPT level
- Service
- 불법유통근절
- webhacking
- HTML
- 불법유통
- PHP
- 화학물질불법유통온라인감시단
- 정보보안
- 도구모음
- 화학물질
- 기타정보
- 파이썬
- 화학물질안전원
- suninatas
- 국가정보원
- 국정원
- 프로젝트
- Today
- Total
agencies
PHP 쿠키와 세션 본문
쿠키(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 |