쿠키의 사용법을 알아보자.

본론내용

쿠키에 대한 이야기..

쿠키란?

원래뜻은 조그만한 과자 란 뜻입니다. 뜻 처럼 조그만한 정보를 가지고 있는 개체라 생각하시면 됩니다.

이 쿠키는 우리가 웹에서 간단한 정보를 기억(저장)하고 필요 시 가져와 유익하게 사용 할 수 있습니다.

주로 아이디 저장 또는 리로드에 의한 조회수 증가등에 많이 사용 됩니다.

이제 우리는 ASP 서버측에서의 쿠키 사용법과 xxJavascript를 이용한 클라이언트측에서의 쿠키 사용법에 대해 알아 보겠습니다.

먼저 ASP 서버측에서의 쿠키 사용의 간단한 예입니다.


<%
    Response.Cookies("id") = "goby"
    Response.Cookies("id").expires = date() + 1
%>


쿠키를 저장시에는 Response 개체를 사용하며, 위 코드는 id라는 이름의 쿠키에 goby라는 값을 저장하게 됩니다.

expires 는 설정한 쿠키의 소멸 시간을 나타냅니다.  하루 이후에는 쿠키는 자동 소멸 됩니다.

만약 expires 타임을 지정하지 않을 경우에는 세션소멸과 동시에 쿠키도 소멸되게 됩니다.

다음은 쿠키을 읽어오는 예입니다.


<%
    dim id
    id = Request.Cookies("id")
%>

id 값은 goby 가 되겠죠..

다음은 쿠키를 배열로 사용한 예입니다.

<%
    Response.Cookies("member")("id") = "goby"
    Response.Cookies("member")("pass") = "1234"
    Response.Cookies("member").expires = date() + 1
%>


다른예를 하나 더 보겠습니다.

<%
    no = "123"
    Response.Cookies("readme")(no) = no
%>


해당 게시물의 번호를 쿠키로 저장할수 있으며 아래와 같이 코딩함으로써 리로드에 의한 게시물 조회수를 방지 할수 있습니다.


    if request.cookies("readme")(no)="" then ' 쿠키가 없다면...
        '
        '.. 조회수 업데이트 처리
        '
        response.cookies("readme")(no)="yes" ' 쿠키 저장
    end if

쿠키 소멸 시간을 지정하지 않았으므로 세션소멸시점(디폴트 20분)과 같습니다.

다음은 xxJavascript를 이용한 쿠키 사용 방법을 알아 보겠습니다.

주로 xxJavascript는 이벤트창에 대한 "창안띄우기" 사용시 유용합니다.

곧바로 실전 예제를 보겠습니다.

<SCRIPT language="xxJavaScript">
    //쿠키를 가져오는 함수
    function getCookie( name )
    {
        var nameOfCookie = name + "=";
        var x = 0;
        while ( x <= document.cookie.length )
        {
            var y = (x+nameOfCookie.length);
            if ( document.cookie.substring( x, y ) == nameOfCookie )
            {
                if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
                endOfCookie = document.cookie.length;
                return unescape( document.cookie.substring( y, endOfCookie ) );
            }
            x = document.cookie.indexOf( " ", x ) + 1;
            if ( x == 0 )
                break;
        }
    return "";
    }     

    // 쿠키 Notice 의 done 값 유무를 체크하여 팝업창을 띄우는지 유무를 판단한다.
    if ( getCookie( "Notice" ) != "done" )
    {
        noticeWindow = /*window.open*/('/etc/popup.htm','notice','toolbar=no,location=no,directories=no,status=no,menubar=no,    
    scrollbars=no,resizable=no,width=435,height=550,top=100,left=80');
    notice/*Window.open*/er = self;
    }
</script>    

* getCookie() 함수는 해당 이름의 쿠키값을 반환하는 함수 입니다.


<SCRIPT language="xxJavaScript">
    //쿠키를 저장하는 함수
    function setCookie( name, value, expiredays )
    {
        var todayDate = new Date();
        todayDate.setDate( todayDate.getDate() + expiredays );
        document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
    }

    function closeWin()
    {
        if ( document.form.Notice.checked )
        setCookie( "Notice", "done" , 1);
        self.close();
    }
</script>    

<form name=form>
<input type=CHECKBOX name="Notice">
</form>
<a href=xxjavascript:closeWin()>하루동안 창띄우지 않기</a>

* setCookie()는 쿠키의 이름, 값, 소멸시간을 지정하는 함수 입니다.

여기까지 간단한 쿠키 사용방법에 대해 알아 봤습니다.

쿠키 특성상 클라이언트의 특정폴더에(C:\Documents and Settings\유저아이디\Cookies) 기록 되기때문에 여러명이 같이 사용되는 컴퓨터에서는 보안이 문제가 될수 있습니다.

'HTML & Script' 카테고리의 다른 글

naver 포털 쓸만한 스크립트들  (0) 2007.05.02
input type에서 한글 or 영어만 사용하기 팁  (2) 2007.05.02
문자열 스크립트 종합선물세트  (0) 2007.05.02
정규화 형식  (2) 2007.05.02
split()  (0) 2007.05.02

+ Recent posts