웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
쿠키(cookie)의 활용
2000.03.06 22:35
쿠키가 몬지 아시죠? (먹는 거라구 말하믄 미버할겁니다... ㅡ.ㅡ;)
쿠키는 아시다시피 넷스케이프사에서 만든 웹서버와 클라이언트간의 인증법이라고 생각하시면 됩니다.
(쩝... 저는 용어 설명에 댑따 서툽니당... 이해해주시길..)
보통 로그인 같은 방법을 사용할때 쿠키를 사용합니다.
즉, 사용자가 ID랑 암호를 입력하면 서버에서는 그 정보가 맞는지를 판단, 맞는다면 사용자의 컴퓨터에 쿠키를 이용해서 임시로 자료를 저장하는겁니다.
그 자료를 이용해서 지금 서버에 접속해 있는 사용자가 로그인을 정식으로 한 사용자인지 판단할수가 있죠.
그럼 실질적으로 사용하는 방법을 알아봅시다.
SetCookie() 라는 함수를 이용하면 됩니다.
setcookie(이름, 값, 해제시간, 디렉토리)
그럼 이제 하나하나 알아볼까요?
당근 이름은 쿠키값의 이름입니다.
정하기 나름이죠.
값또한 마찬가지이겠죠?
중요한 해제시간이 모냐면 쿠키가 살아있는 시간을 지정하는 겁니다.
이때 time()라는 함수를 이용합니다.
time()는 현재 시간을 알려주는 함수입니다.
만약 쿠키값에 time()+3600 이라고 하면 현재시간에서 1시간을 더한겁니다.
즉 쿠키가 유용한 시간은 1시간인거죠.
만약 쿠키시간을 따로 안정하고 브라우저를 종료할때까지 유용하게 할라면 "" 를 입력하면 됩니다.
그럼 브라우저를 종료함과 동시에 해당 쿠키값은 사라지죠.
저기 3600은 초로 계산을 하는 겁니다.
그럼 그 뒤에 디렉토리는 서버의 어떤 디렉토리에 있을때 그 쿠키값이 유용한지를 아는 것입니다.
보통은 사용할 필요가 없지만 자신의 계정 전체 디렉토리에서 쿠키를 사용하기를 원할때는 "/" 를 넣어주면 됩니다.
그럼 실제로 한번 해볼까요?
setcookie("user_id", $id, "", "/");
위의 사용예는 user_id 라는 쿠키를 $id가 가지고 있는 값으로 생성하는 거죠.
시간은 브라우저를 닫을때까지 유용하고 현재 자신의 계정의 전체 디렉토리에 적용을 하는 겁니다.
setcookie("log_in", "ok", "time()+60");
만약 위와 같이 사용하면 log_in 이라는 쿠키를 "ok" 라는 값을 넣구, 1분간의 시간을 주는 겂니다.
그럼 이 쿠키를 직접 사용할때는 어떻게 할까요?
바로 $HTTP_COOKIE_VARS 라는 환경변수를 사용하면 됩니다.
이 변수는 사용자가 설정하는 것이 아니라 PHP에서 제공하는 함수입니다.
현재 디렉토리에 적합한 살아(?)있는 쿠키를 저장하고 있는 변수입니다.
$HTTP_COOKIE_VARS[lon_in] 이라고 하면 "ok"의 값을 가지고 있죠.
쿠키라는 생소한 이름에 비하면 사용하기가 매우 쉽습니다.
참, 만약에 어떤 함수내에서 쿠키값을 알고자 한다면 꼭 $HTTP_COOKIE_VARS를 전역 변수로 지정을 해줘야 합니다.
function test()
{
global $HTTP_COOKIE_VARS;
if($HTTP_COOKIE_VARS[user_id]=="zero"){ ... }
}
위와 같이 하면 되죠.
다른 변수들도 마찬가지로 함수안에서 외부의 변수를 쓰고자 하면 global 로 지정을 해준 다음 써야해요~~
이상 쿠키 끝~~
쿠키는 아시다시피 넷스케이프사에서 만든 웹서버와 클라이언트간의 인증법이라고 생각하시면 됩니다.
(쩝... 저는 용어 설명에 댑따 서툽니당... 이해해주시길..)
보통 로그인 같은 방법을 사용할때 쿠키를 사용합니다.
즉, 사용자가 ID랑 암호를 입력하면 서버에서는 그 정보가 맞는지를 판단, 맞는다면 사용자의 컴퓨터에 쿠키를 이용해서 임시로 자료를 저장하는겁니다.
그 자료를 이용해서 지금 서버에 접속해 있는 사용자가 로그인을 정식으로 한 사용자인지 판단할수가 있죠.
그럼 실질적으로 사용하는 방법을 알아봅시다.
SetCookie() 라는 함수를 이용하면 됩니다.
setcookie(이름, 값, 해제시간, 디렉토리)
그럼 이제 하나하나 알아볼까요?
당근 이름은 쿠키값의 이름입니다.
정하기 나름이죠.
값또한 마찬가지이겠죠?
중요한 해제시간이 모냐면 쿠키가 살아있는 시간을 지정하는 겁니다.
이때 time()라는 함수를 이용합니다.
time()는 현재 시간을 알려주는 함수입니다.
만약 쿠키값에 time()+3600 이라고 하면 현재시간에서 1시간을 더한겁니다.
즉 쿠키가 유용한 시간은 1시간인거죠.
만약 쿠키시간을 따로 안정하고 브라우저를 종료할때까지 유용하게 할라면 "" 를 입력하면 됩니다.
그럼 브라우저를 종료함과 동시에 해당 쿠키값은 사라지죠.
저기 3600은 초로 계산을 하는 겁니다.
그럼 그 뒤에 디렉토리는 서버의 어떤 디렉토리에 있을때 그 쿠키값이 유용한지를 아는 것입니다.
보통은 사용할 필요가 없지만 자신의 계정 전체 디렉토리에서 쿠키를 사용하기를 원할때는 "/" 를 넣어주면 됩니다.
그럼 실제로 한번 해볼까요?
setcookie("user_id", $id, "", "/");
위의 사용예는 user_id 라는 쿠키를 $id가 가지고 있는 값으로 생성하는 거죠.
시간은 브라우저를 닫을때까지 유용하고 현재 자신의 계정의 전체 디렉토리에 적용을 하는 겁니다.
setcookie("log_in", "ok", "time()+60");
만약 위와 같이 사용하면 log_in 이라는 쿠키를 "ok" 라는 값을 넣구, 1분간의 시간을 주는 겂니다.
그럼 이 쿠키를 직접 사용할때는 어떻게 할까요?
바로 $HTTP_COOKIE_VARS 라는 환경변수를 사용하면 됩니다.
이 변수는 사용자가 설정하는 것이 아니라 PHP에서 제공하는 함수입니다.
현재 디렉토리에 적합한 살아(?)있는 쿠키를 저장하고 있는 변수입니다.
$HTTP_COOKIE_VARS[lon_in] 이라고 하면 "ok"의 값을 가지고 있죠.
쿠키라는 생소한 이름에 비하면 사용하기가 매우 쉽습니다.
참, 만약에 어떤 함수내에서 쿠키값을 알고자 한다면 꼭 $HTTP_COOKIE_VARS를 전역 변수로 지정을 해줘야 합니다.
function test()
{
global $HTTP_COOKIE_VARS;
if($HTTP_COOKIE_VARS[user_id]=="zero"){ ... }
}
위와 같이 하면 되죠.
다른 변수들도 마찬가지로 함수안에서 외부의 변수를 쓰고자 하면 global 로 지정을 해준 다음 써야해요~~
이상 쿠키 끝~~
댓글 44
제목 | 글쓴이 | 날짜 |
---|---|---|
페이지 자동 이동 방법 3가지!!! [10] | zero | 2000.03.06 |
카운터를 만들어봅시다~ (수정본) [181] | zero | 2000.03.08 |
쿠키(cookie)의 활용 [44] | zero | 2000.03.06 |
Zend Optimizer 4 설치 (아파치와 PHP4 Zend도 같이..) (리눅스) [6] | zero | 2000.06.04 |
리눅스에서 APM 설치 [9] | zero | 2000.05.31 |
MySQL RPM으로 설치하자!! (리눅스) [5] | zero | 2000.06.04 |
MYSQL Query의 간단한 사용법 [82] | zero | 2000.03.06 |
웹서핑 동작 원리의 이해 [18] | zero | 2007.10.05 |
입력폼에 배경그림 넣기 [1] | 정낙훈(xynex) | 2008.12.23 |
구글 번역기 API | 유비키리 | 2008.10.29 |
전체크기로 새창 열기 [1] | ITBANK.kr | 2008.10.01 |
지정된 시간동안 강제로 보여지는 언론사에서 많이 사용하는 광고창 | ITBANK.kr | 2008.10.01 |
항상 같은곳에 있는 광고창 만들기 | ITBANK.kr | 2008.10.01 |
첨부파일 확장자 체크 [정규식] | arimaya | 2008.06.23 |
자파스크립트로 GET으로 넘어온 파라미터 가져오기 [1] | 중딩 | 2008.05.26 |
나만의 위지윅 웹에디터 만들기 - 기본 준비2 [2] | 예뜨락 | 2008.05.11 |
나만의 위지윅 웹에디터 만들기 - 기본 준비1 [3] | 예뜨락 | 2008.05.05 |
나만의 위지윅 웹에디터 만들기 - 글 쓰기에 앞서 [4] | 예뜨락 | 2008.05.05 |
프레임홈일때 부분프레임 무단링크 방지하기 [3] | gosoo99 | 2008.04.08 |
동적 INPUT | june44.myid.net/ | 2008.03.31 |