출처 : http://interconnection.tistory.com/74
쿠키
- 클라이언트 PC에 저장된다. 즉 사용자 PC에 정보가 저장됨.
문제점 : 사용자 등 외부 요인에 의해 변형이 가능해짐.
내 컴퓨터에 저장된 쿠키정보는 나 아닌 다른 사람이 볼 수 있습니다.
- 쿠키를 사용하는 부분 : 세션과 달리 서버에 저장되어 메모리를 차지하는것이 아니기 때문에 사용
세션
- 서버에 저장이된다 ( 그래서 서버와 접속이 끊기게 되면, 정보가 없어진다 )
- 세션은 서버에 저장되어 현재 사용자만이 인증을받는다 ( 쿠키 보다 보안성은 좋다 )
-사용 예 : 로그인정보들.
쿠키 생성.
<?php
//name = 설정할 쿠키의 이름
//value = 쿠키에 저장될 이름
//expire = 유효 시간을 설정하는 함수
//path = 쿠키를 사용할 수 있는 범위 지정
//setcookie(name, value, expire, path);
//cookie 라는 이름으로 test라는 데이터를 저장하고 60초만 쿠키 보존 하고
// 슬러쉬로 디렉터리를 지정 하여 상위 디렉토리에서도 쿠키를 사용할수 있게 처리
setcookie("cookie", "test", 20+time(), "/");
// 20초가 지나게 되면 자동으로 쿠키 해제됨.
?>
쿠키 사용
<?php
// 쿠키 실행
echo ($_COOKIE['cookie']); // $_COOKIE[변수명]
?>
쿠키 삭제
<?php
//쿠키를 지울때는 사용하기 위해 생성했던 이름을 지정한뒤 시간을 0으로 해놓으면 지워진다.
setcookie("cookie", "", 0, "/");
?>
PHP 세션
세션이란 웹에 방문한 사용자가 접속해 있는 상태를 말하는 것으로 방문자가 웹브라우저를 닫아 서버와 연결을 끝내는 시점까지를 세션 이라고 한다.
쿠키와 세션의 차이는 쿠키는 방문자 정보를 방문자 컴퓨터 하드디스크에 저장한다. 세션은 사용자 컴퓨터에 정보를 저장하는것이 아니라 웹서버가 세션 아이디 파일을 만들어 서비스가 돌아가는 서버에 저장 한다.
쿠키와 다르게 세션은 지속시간 설정이 php.ini 설정파일에 정의된 것에 따라 지속 시간이 결정되므로 따로 시간을 두지 않는다.
Test.php
<? //먼저 session_sart()를 통해 세션을 사용하겠다고 선언한뒤 //$_SESSION["변수이름 아무거나"] = 담을 값 지정; session_start(); $_SESSION["session"] = "세션을 이용해 문자열을 저장했다."; ?>
결과
Check.php
<? session_start(); echo($_SESSION["session"]); ?>
결과
PHP 세션 지우기
Test.php
<? //세션을 지우기위해 세션을 시작하고 session_start(); //선언했던 세션이름으로 변수를 선언해 값을 비우기 위해 아무것도 없는 값을 넣은뒤 $session = ""; //실제 세션삭제를 진행 한후 Check.php를 해보면 삭제된것을 확인할수 있다. session_unregister(session); ?>
결과
Test.php를 실행하고 check.php 실행해 보면 세션을 이용해 문자열을 저장했다라는 문자가 지워진 것을 확인할수 있다.
PHP 세션 폐기하기
아까 애기 했듯이 세션은 서버에 저장됩니다.
세션을 지운다고해서 세션 파일이 삭제된것이 아니라 남아 있습니다.
확실하게 세션을 지우려면 세션파일을 폐기해야 합니다.
Test.php
<? session_start(); session_destroy(); ?>
위와같이 해주면 세션의 삭제와 함께 세션을 저장하고 있는 세션파일까지 모두 지워진다.
***** 반드시 헤더보다 위에 선언해줘야한다 쿠키나 세션 모두
출처 : http://zzarungna.tistory.com/363
'미분류' 카테고리의 다른 글
(스크랩) FCM과 GCM 차이 (0) | 2018.06.06 |
---|---|
크로키에서 node.js를 쓰는 이유 (0) | 2018.06.04 |
안드로이드 녹스로 연결하기 (0) | 2018.05.28 |
윈도우 10에서 포트 열기 (1) | 2018.05.28 |
2017 트렌드 (0) | 2018.05.22 |