본문 바로가기

프론트앤드 수업

[mysql,php] 쿠키,세션 생성

728x90

쿠키 / 세션
세션은 개인의 컴퓨터 쿠키는 브라우저에 저장됨 [ 쿠키는 브라우저에서 모두 확인이 가능하기에 보안에 취약]
사용자와 브라우저의 서버간의 가상의 논리적인 연결
http 프로토콜

  • 상태(연결의 지속성)이 없는 프로토콜
  • 브라우저와 서버간의 상태에 대한 보존 없이 매 순간 새로운 연결을 하고, 요청에 대한 응답을 서버가 전송하고 나면 연결이 끊어짐

세션 사용 시작
session_start();

$_SESSION => 세션을 관리하는 PHP의 슈퍼글로벌 변수
$_SESSION['city'] = "부산";
$_SESSION['city']로 출력
다른 php파일에서 session_start(); 실행 후 세션 사용이 가능해짐

세션 삭제 방법
1)unset($_SESSION['city']); city라는 이름의 세션 해지
2) session_unset(); 모든 세션 변수의 등록을 해지
3) session_destory(); 세션 아이디 삭제

session.php 파일
<?php
    session_start();
    $_SESSION['city'] = "부산";
    $_SESSION['session1'] = 'geegee';
    echo $_SESSION['city'];
    echo $_SESSION['session1'];
?>
session_unset.php 파일
<?php
    session_start();
    // unset($_SESSION['city']);
    // unset($_SESSION['session1']);
    session_unset();
    echo $_SESSION['city'];
    echo $_SESSION['session1'];
?>

세션을 주고난 후 다른파일로가서 session_start(); 를 실행시 해당 세션을 사용 가능하다.

unset()은 하나의 세션을 삭제 할 수 있고

session_unset(); 을 실행시 모든 세션이 삭제된다.

쿠키 생성하기
setcookie(키, 값, 시간)
ex> setcookie("cookie1","abc",time() +3600); // 1시간짜리 쿠키생성

쿠키 삭제하기

1) unset($_COOKIE['cookie1'])
2) setcookie("cookie1","",time()-3600);

cookie.php파일
<?php
    setcookie('cookie1','abc');
    setcookie('cookie2','123456',time()+100);
    if(isset($_COOKIE['cookie1'])){
        echo '쿠키 1은'.$_COOKIE['cookie1'];

    }
    if(isset($_COOKIE['cookie2'])){
        echo '쿠키 2는'.$_COOKIE['cookie2'];
    }
?>
cookie_unset.php 파일
<?php
    setcookie('cookie1','',time()-3600);
    // setcookie('cookie1','',time()-3600);
    if(isset($_COOKIE['cookie1'])){
        echo '쿠키 1은'.$_COOKIE['cookie1'];
    }else {
        echo '쿠키 1은 사라짐';
    }
    if(isset($_COOKIE['cookie2'])){
        echo '쿠키 2는'.$_COOKIE['cookie2'];
    }
?>

쿠키도 마찬가지로 사용이 가능하다. 하지만 쿠키는 검사를 통해 내용을 아무나 확인 할 수 있기에

보안에 취약하니 보안이 필요한 내용은 쿠키 사용금지.

728x90
댓글