Asp: 쿠키 애플리케이션 가이드, 자세한 코드 및 튜토리얼
저자:Eve Cole
업데이트 시간:2009-06-24 17:28:30
실제로 웹 개발에서 쿠키는 사용자가 사이트를 방문할 때 사용하는 컴퓨터에 저장되는 텍스트 파일입니다. , 웹에서 이 정보를 추출할 수 있습니다.
지금 당장은 쿠키가 흥미롭지 않을 수도 있지만 실제로 쿠키를 사용하면 의미 있는 일을 많이 할 수 있습니다! 예를 들어 사이트에 설문조사를 실시하여 방문자에게 가장 좋아하는 색상과 글꼴을 묻고 이를 기반으로 사용자의 웹 인터페이스를 맞춤 설정할 수 있습니다. 또한, 방문자의 로그인 비밀번호를 저장하여 방문자가 해당 사이트를 다시 방문할 때 로그인하기 위해 비밀번호를 입력할 필요가 없도록 할 수도 있습니다.
물론 쿠키에도 몇 가지 단점이 있습니다. 우선, 쿠키 기능은 나쁜 의도를 달성하도록 프로그래밍될 수 있으므로 대부분의 브라우저에는 쿠키 허용 여부를 설정할 수 있는 보안 설정이 있으므로 언제든지 쿠키가 사용될 수 있다는 보장은 없습니다. 또한 방문자는 의도적으로 또는 의도하지 않게 삭제할 수 있습니다.
쿠키. 방문자의 컴퓨터에 충돌이 발생하는 "블루 스크린"이 발생하거나 하드 디스크를 다시 포맷하거나 시스템을 설치한 후에는 이전에 저장된 쿠키가 모두 손실됩니다. 마지막으로, 초기 브라우저 중 일부는 쿠키를 지원하지 않습니다.
쿠키로 무엇을 할 수 있나요?
쿠키를 사용하는 두 가지 기본 방법은 다음과 같습니다.
1. 방문자의 컴퓨터에 쿠키 쓰기(RESPONSE 명령 사용)
2. 방문자의 컴퓨터에서 쿠키를 검색합니다(REQUEST 명령 사용).
쿠키 생성을 위한 기본 구문
Response.Cookies("쿠키이름")=값
다음 코드를 실행하면 방문자의 컴퓨터에 이름=VisitorName 및 값=Ken인 쿠키가 생성됩니다.
Response.Cookies("VisitorName")="켄"
다음 코드를 실행하면 방문자의 컴퓨터에 이름 = VisitorName 및 값 = UserName 형식의 값으로 쿠키가 생성됩니다.
Response.Cookies("VisitorName")=Request.Form("사용자 이름")
쿠키를 읽는 기본 구문
Request.Cookies("쿠키이름")
요청 값은 변수로 처리될 수 있습니다. 다음 코드를 실행하면 KensCookie라는 쿠키 값이 검색되어 MyVar 변수에 저장됩니다.
MyVar=Request.Cookies("KensCookie")
다음 코드를 실행하면 KensCookie라는 쿠키 값이 "예"인지 확인됩니다.
Request.Cookies("KensCookie")="예"인 경우
기능이 풍부한 쿠키
위의 코드를 확장하여 쿠키 하위 키 값(CookieSubName)이 될 수 있으며, 코드는 다음과 같습니다.
Response.Cookies("VisitorName")("FirstName")="켄"
Response.Cookies("VisitorName")("LastName")="Baumbach"
예제를 설명하기 전에 명령 규칙과 사용 만료 시간이라는 두 가지 최종 개념에 대해 논의하겠습니다.
명명 규칙
다른 변수의 이름을 지정하는 것과 마찬가지로 쿠키의 이름을 적절하고 고유하게 지정하면 프로그램에서 일관되게 사용하는 데 도움이 됩니다. 다음 중 1~2개를 사용할 수 있습니다.
쿠키 속성은 쿠키 변수의 이름을 지정합니다.
도메인 속성(Domain): 도메인 속성은 쿠키가 생성되거나 읽혀지는 웹사이트를 나타냅니다. 기본적으로 쿠키의 도메인 속성은 쿠키를 생성한 웹사이트로 설정되지만 필요에 따라 변경할 수도 있습니다. 관련 코드는 다음과 같습니다. Response.Cookies("CookieName").Domain = " www.mydomain.com "
경로 속성(Path): 경로 속성은 웹사이트에서 정확한 경로를 설정함으로써 더 많은 보안 요구 사항을 구현할 수 있으며, 쿠키 사용 범위를 제한할 수 있습니다. 예를 들어:
Response.Cookies("CookieName").Path = "/maindir/subdir/path"
만료 시간 사용
일반적으로 쿠키는 브라우저를 닫으면 더 이상 존재하지 않습니다. 그러나 아래에 설명된 웹 사이트 예와 같이 우리는 방문자의 컴퓨터에 쿠키를 장기간 동안 저장하고 싶은 경우가 많습니다. 다행히도 이를 달성할 수 있는 방법이 있습니다. 다음 코드는 쿠키 만료 시간을 2010으로 설정할 수 있습니다.
1월 1일:
Response.Cookies("CookieName").Expires=#2010년 1월 1일#
다음 코드를 실행하면 쿠키 만료 시간이 "쿠키 생성 시간 + 365일"로 설정됩니다.
Response.Cookies("쿠키이름")=날짜+365
쿠키 사용의 실제 사례(매우 흥미롭습니다)
이제 실제 사례에 대해 이야기해 보겠습니다. 가정해 보겠습니다. 설문조사를 하려면 모든 사람이 처음 방문할 때 정보를 입력해야 하지만 나중에 다시 방문할 때는 다시 입력할 필요가 없습니다. 쿠키를 사용하면 데이터베이스를 사용하지 않고도 이 문제를 매우 만족스럽게 해결할 수 있습니다.
< %@ LANGUAGE="VBSCRIPT" % >
<%
설문조사=Request.Cookies("KensSurvey")
설문조사=""인 경우
Response.Cookies("KensSurvey")="x"
Response.Cookies("KensSurvey").Expires=#2010년 1월 1일#
응답.리디렉션 "survey.asp"
또 다른
'페이지의 나머지 부분
다음과 같은 경우 종료
%>
좋아요, 처음부터 시작하여 위 코드에 대해 논의해 보겠습니다.
먼저 페이지를 처음 설정하고 KensSurvey라는 쿠키 값을 읽습니다.
< %@ LANGUAGE="VBSCRIPT" % >
<%
설문조사=Request.Cookies("KensSurvey")
그런 다음 쿠키 값이 이미 존재하는지 확인합니다.
설문조사=""인 경우
존재하지 않는 경우 쿠키가 생성 및 설정되고 페이지가 Survey.asp로 리디렉션됩니다. 다음번 방문시에는 쿠키값이 존재하기 때문에 방문하지 않습니다.
Survey.asp 페이지.
Response.Cookies("KensSurvey")="x"
Response.Cookies("KensSurvey").Expires=#2010년 1월 1일#
응답.리디렉션 "survey.asp"
쿠키가 이미 존재하는 경우 방문자는 페이지의 나머지 코드를 실행합니다.
'페이지의 나머지 부분
다음과 같은 경우 종료
%>
실시예 2
또 다른 간단한 예는 다음과 같습니다. 방문자가 사이트를 처음 방문할 때 환영 메시지를 표시합니다. 코드는 다음과 같습니다:
< %@ LANGUAGE="VBSCRIPT" % >
<%
RequestName = Request.Form("이름")
RequestLeaveMeAlone = Request.Form("LeaveMeAlone")
RequestName < >"" 또는 RequestLeaveMeAlone < >""인 경우
Response.Cookies("MySiteVisitorName") = 요청 이름
Response.Cookies("MySiteVisitorName").Expires = #2010년 1월 1일#
Response.Cookies("MySiteLeaveMeAlone") = RequestLeaveMeAlone
Response.Cookies("MySiteLeaveMeAlone").Expires = #2010년 1월 1일#
다음과 같은 경우 종료
방문자 이름 = request.cookies("MySiteVisitorName")
LeaveMeAlone = request.cookies("MySiteLeaveMeAlone")
VisitorName =""이고 LeaveMeAlone =""인 경우
%>
< HTML > < HEAD > < /HEAD >
< body bgcolor="#ccffff" text="black" link="navy" vlink="purple" >
< DIV ALIGN="중앙" >
< 형식 action="index.asp" 메서드="POST" >
< H2 >친구하자< /H2 >
귀하의 이름은 무엇입니까? (공란으로 두고 원하지 않는 경우 제출 버튼을 누르십시오.)
알다)?
< input type="text" name="name" >< BR >< BR >
< input type="hidden" name="LeaveMeAlone" value="x" >
< 입력 유형="제출" 값="제출" >
</ /양식 >
< /DIV >
< /BODY >
<%
다음과 같은 경우 종료
VisitorName < > ""인 경우
Response.write "안녕하세요, " & 방문자 이름 & "! 좋은 하루 보내시길 바랍니다!"
다음과 같은 경우 종료
'페이지의 나머지 부분
%>
좋습니다. 이제 위의 코드 구현이 수행하는 작업을 살펴보겠습니다. 먼저 페이지를 설정하세요. 그런 다음 (같은 페이지에서) 양식 변수를 확인하세요. 양식 변수가 존재하는 경우 쿠키를 생성하고 만료 시간을 설정합니다.
< %@ LANGUAGE="VBSCRIPT" % >
<%
RequestName = Request.Form("이름")
RequestLeaveMeAlone = Request.Form("LeaveMeAlone")
RequestName < >"" 또는 RequestLeaveMeAlone < >""인 경우
Response.Cookies("MySiteVisitorName") = 요청 이름
Response.Cookies("MySiteVisitorName").Expires = #2010년 1월 1일#
Response.Cookies("MySiteLeaveMeAlone") = RequestLeaveMeAlone
Response.Cookies("MySiteLeaveMeAlone").Expires = #2010년 1월 1일#
다음과 같은 경우 종료
다음으로 쿠키를 읽어보세요.
방문자 이름 = request.cookies("MySiteVisitorName")
LeaveMeAlone = request.cookies("MySiteLeaveMeAlone")
방문자의 컴퓨터에 쿠키가 없으면 관련 정보를 요청하는 양식을 작성하십시오.
VisitorName =""이고 LeaveMeAlone =""인 경우
%>
<HTML>
<헤드>
< /HEAD >
< body bgcolor="#ccffff" text="black" link="navy" vlink="purple" >
< DIV ALIGN="중앙" >
< 형식 action="index.asp" 메서드="POST" >
< H2 >친구하자< /H2 >
귀하의 이름은 무엇입니까? (공란으로 두고 원하지 않는 경우 제출 버튼을 누르십시오.)
알다)?
< 입력 유형="텍스트" 이름="이름" >< br >< br >
< input type="hidden" name="LeaveMeAlone" value="x" >
< 입력 유형="제출" 값="제출" >
</ /양식 >
< /DIV >
< /BODY >
<%
다음과 같은 경우 종료
쿠키가 이미 존재하고 사용자 이름이 존재하는 경우 방문자에게 환영 화면을 표시하고 나머지 코드를 실행합니다.
VisitorName < > ""인 경우
Response.write "안녕하세요, " & 방문자 이름 & "! 좋은 하루 보내시길 바랍니다!"
다음과 같은 경우 종료
'페이지의 나머지 부분
%>
위의 예는 간단하지만 이 예에서 많은 창의적인 응용 프로그램을 확장할 수 있습니다. 양식에 다양한 기능을 추가하여 웹 사이트를 사용자 정의할 수 있습니다.
또한 방문자가 사이트의 색상, 글꼴 및 기타 웹 요소를 사용자 정의하도록 할 수도 있습니다. 가능하다면 방문자에게 생일을 물어볼 수 있으며, 해당 날짜에 방문자가 방문하면 "생일 축하합니다" 메시지를 표시할 수도 있습니다.
보시다시피 쿠키의 확장성은 끝이 없으며 이 문서는 단지 시작점일 뿐입니다.