쿠키 소개
먼저 쿠키에 대해 간략하게 소개하고 ASP를 사용하여 쿠키를 유지하는 방법을 설명합니다.
쿠키는 클라이언트의 컴퓨터에 저장되는 작은 파일입니다. 즉, 사용자가 귀하의 사이트를 방문할 때마다 관련 정보가 포함된 파일을 비밀리에 사용자의 하드 드라이브에 저장할 수 있습니다. 이 파일에는 사용자 정보, 사이트 상태 등을 포함하여 설정하려는 거의 모든 정보가 포함될 수 있습니다. 이 경우 잠재적인 위험이 있습니다. 해커가 정보를 읽을 수 있습니다. 이 문제가 발생하는 것을 방지하기 위한 효과적인 방법은 쿠키를 생성한 도메인에서만 쿠키에 액세스할 수 있도록 하는 것입니다. 즉, 예를 들어 ytu.edu.cn은 ytu.edu.cn에서 생성된 쿠키에만 액세스할 수 있습니다. 일반적으로 이것은 문제가 되지 않습니다. 그러나 쿠키에 저장된 사용자 정보를 두 개의 다른 도메인에 있는 두 개의 다른 사이트와 공유해야 하는 경우에는 어떻게 해야 합니까? 물론 사용자 정보를 복사하도록 선택할 수도 있습니다. 한 사이트에 등록하고 다른 사이트의 등록 사용자가 됩니까? 아니면 두 사이트가 사용자 데이터베이스를 공유하고 사용자가 자동으로 로그인하도록 요구하는 경우 도메인 간에 쿠키를 공유하는 것이 최선의 솔루션 계획입니다.
여기에서는 나중에 쉽게 참조할 수 있도록 일부 ASP 쿠키 처리 코드를 먼저 살펴보겠습니다.
'쿠키 생성
응답.쿠키(MyCookie).Expires=날짜+365
Response.Cookies(MyCookle).Domain=mydomaln.com
Response.Cookies(MyCookle)(사용자 이름)=strUsername
Response.Cookies(MyCookle)(비밀번호)=strPassword
쿠키를 읽고 쓰는 것은 매우 간단합니다. 위의 코드는 쿠키를 생성하고 쿠키에 대한 속성(도메인, 만료 시간 및 쿠키에 저장된 기타 값)을 설정합니다. 여기서 strUsename, strPassword는 이전에 어딘가에 설정된 변수입니다. 그런 다음, 다음 명령문을 통해 쿠키를 읽어옵니다.
'쿠키 읽기
datExpDate=Request.Cookies(MyCookie)
strDomaln=Request.Cookies(MyCookle).Domain
strUsername=Request.Cookies(MyCookle)(사용자 이름)
strPassword=Request.Cookies(MyCookie)(비밀번호)
자세한 내용은 ASP정보를 참고하시기 바랍니다.
성취하다
단순히 쿠키를 공유하는 방법은 리디렉션이며 일반적인 프로세스는 다음과 같습니다.
1. 사용자가 siteA.com을 클릭합니다.
2. 사용자에게 siteA.com에 대한 쿠키가 없으면 사용자를 siteB.com으로 리디렉션합니다.
3. 사용자에게 siteB.com에 대한 쿠키가 있는 경우 특수 플래그(아래 설명)와 함께 사용자를 siteA.com으로 다시 리디렉션하고, 그렇지 않으면 사용자를 siteA.com으로 리디렉션합니다.
4. siteA.com에서 쿠키를 생성합니다.
간단해 보이지만 신중하게 분석하세요. siteA.com과 siteB.com은 동일한 사용자 설정을 공유하므로 사용자가 siteB.com에 대한 쿠키(이미 등록됨)를 가지고 있는 경우 siteA.com도 쿠키를 읽고 쿠키 권한을 제공할 수 있습니다. 형질. 이런 방식으로 siteA.com을 방문하는 사용자는 siteB.com을 방문한 것으로 표시됩니다.
이 검사는 siteA.com에 포함된 cookie.inc 파일에서 구현되어야 합니다. 이 코드를 살펴보겠습니다.
l-1
'SiteA.com은 쿠키를 확인합니다.
Request.Querystring(Checked)<>True이면
Request.Cookies(SiteA_Cookie).Haskeys가 아닌 경우
'siteB.com으로 리디렉션
응답.수정(http://www.siteB.com/cookie.asp)
다음과 같은 경우 종료
다음과 같은 경우 종료
사용자에게 siteA.com에 대한 쿠키가 있는 경우 무한 루프를 제거하기 위해 첫 번째 if 문을 사용할 필요가 없습니다. 더 자세한 이해를 돕기 위해 siteB.com의 cookie.asp 파일을 살펴보겠습니다.
1-2
'사이트B.com
'쿠키 확인
Request.Cookies(SlteB_Cookle).Haskeys가 아닌 경우
'siteA.com으로 리디렉션
응답.리디렉션(http://www.siteA.com/index.asp&?checked=True)
또 다른
'사용자 이름 가져오기
strUsername=Request.Cookies(SiteB_Cookie)(사용자 이름)
'특수 플래그를 사용하여 사용자를 siteA.com으로 되돌립니다.
Response.Redllect(http://www.siteA.com/index.asp&?checked=True&identrfer=&strUsername)
다음과 같은 경우 종료
사용자가 여전히 siteB.com에 쿠키를 갖고 있지 않은 경우 해당 사용자를 siteA.com으로 다시 보내고 쿼리에 checkd라는 매개변수를 제공하여 쿠키를 확인했음을 애플리케이션에 알립니다. 그렇지 않으면 사용자를 siteB.com으로 다시 보내고 루프를 종료합니다.