웹마스터 팁


개판 오분전 세션 구어먹기.

1. session 이 머게??
2. session 열기
3. session 에 변수 담기
4. session 에 저장된 변수 지우기.
5. session 의 아이디 이용
6. session 의 기타 기능 |
7. session 의 기타 기능 - ||



어떤 웹 문서가 사용자에게 세션을 제공하는 역할을 하려면 문서 첫 머리에
session_start(); 라는 구문이 들어가야 한다.

이를테면
<?
session_start();
?>

의 형식이다.
무조건 첫머리에 들어가야 한다.

이 문서를 사용자가 브라우저로 접속을 하면 이 문서가 저장 된 써버에선 접속한 브라우
저를 위해 4096 바이트의 세션 공간을 만들어둔다. 그리고 그 세션공간에 졸라 복잡한
이름을 지어준다.

그리고 이 4096 바이트의 공간을 활용하도록 하는것이 세션 설정을 적절히 사용하는것이고
웹 문서를 꾸미는 니네들이 해야 하는것이다.
그리고 써버의 웹 문서와 브라우저간에 통하는 암호는 이 서른 두자리의 세션 아이디로 통한다.
브라우저가 세션 아이디를 웹 문서에 들이밀면 이 웹문서는 써버에 저장된 세션중에 똑같은 이름의
세션 아이디를 가진 4096 바이트의 공간을 읽어서 활용하게 된다.
이 세션 아이디는 써버 설정에 따라 다르지만 PHPSESSID 라고 한다면
이런 형태가 된다.

PHPSESSID=3278ac54e47ab4874654632458eecf24

이렇게 되었다면 지금 열려있는 브라우저에게 할당된 세션 공간의
이름은 3278ac54e47ab4874654632458eecf24 인 셈이다.

그리고 이 세션 이름은 니 컴퓨터(브라우저가 열려있는 사용자의 컴퓨터)에 저장 된다.


긴말 필요 없이 세션을 사용해볼까.

먼저 세션을 만든다.
이 문서의 이름이 test.php 라고 한다면
임의의 어떤 인터넷 사용자가 이 문서를 엶과 동시에 써버에선 세션공간 4096 바이트를 할당하고
이 공간에 서른 두자리의 헥사값으로 이름을 지어 사용자 컴터에 내려보낸다. 그리고 이 공간의
이름(세션 아이디)은 사용자의 컴터에 저장 된다. 지금 열려있는 브라우저에서 계속 이 문서를 열
면 세션 아이디는 특별한 경우가 아니면 노출 되지 않는다. 굳이 확인하고 싶을땐 브라우저
주소창에

javascript:alert(document.cookie)

라고 입력을 하면 이 브라우저를 위해 써버가 할당해 놓은 세션 공간의 이름을 확인해볼수
있다.




정리.
세션 사용 구문 session_start() 는 항상 문서의 처음에 와야 한다.
이 구문으로 사용자의 브라우저를 위한 세션 공간이 생성 되며 이 세션 공간 식별을 위한
세션 아이디가 사용자의 컴터에 저장 된다.