작가님처럼 기억력이 좋지 않으시면 사람 이름도 전혀 기억하지 못할 수도 있어요. 사람들을 만나면 대부분 그냥 고개를 끄덕이고 "밥은 먹었어?"라고 묻고 인사는 거기서 끝나길 기대합니다
. 뭔가를 표현해야 한다면 상대방이 누구인지 파악하는 데 도움이 되는 몇 가지 교묘한 기술을 사용해야 했습니다. 예를 들어, 아무리 멀리 떨어져 있더라도 상대방의 이름을 기억하지 못하는 당혹감을 피할 수만 있다면, 상대방과 관련된 사람에 대해 말도 안되는 이야기를 하는 것입니다. "옆집 조카의 귀여운 강아지 메피스토펠레스는 어떻습니까?" 이 방법을 통해 내가 그 사람을 정말 소중하게 여기고 있다는 느낌을 상대방에게 느끼게 하고 싶고, 실제로는 이름조차 잊어버렸지만 이런 사소한 것까지 기억하게 되기를 바랍니다. 다만, 주의를 기울이지 않는 것이 아니라, 기억력이 정말 좋지 않고, 기억해야 할 이름이 너무 많아서
. 모든 사람을 위해 쿠키를 설정할 수 있다면 다시는 이런 메모리 문제가 발생하지 않을 것입니다.
이 글에서 배울 내용은 다음과 같습니다.
1. 쿠키란 무엇인가요?
2. 쿠키 조작
4. 몬스터
쿠키란 무엇인가요?
쿠키란 무엇인가요? 쿠키는 브라우저가 사용자의 컴퓨터에 저장하는 소량의 데이터입니다. 특정 WEB 페이지나 WEB 사이트와 연결되어 WEB 브라우저와
WEB 서버 간에 자동으로 전달됩니다.
예를 들어, Windows 운영 체제를 실행 중이고 Internet Explorer를 사용하여 인터넷 서핑을 하는 경우 "Windows" 디렉토리 아래에
"Temporary Internet Files"라는 하위 디렉토리가 있습니다. 어느 시점에서 이 디렉토리를 살펴보면 이메일 주소와 똑같은 이름을 가진 파일이 있다는 것을 알 수 있습니다. 예를 들어 내 컴퓨터의
디렉터리에 "jim@support.microsoft.com"과 같은 파일이 있습니다. 이것은 쿠키 파일입니다. 이 파일의 출처는 어디입니까? 아마도 Microsoft 지원 사이트인
dot에서 가져온 것 같습니다. 그건 그렇고, 명확히 하기 위해 이것은 내 이메일 주소가 아닙니다.
쿠키는 중앙 데이터베이스에 저장하고 싶지 않은 작고 중요하지 않은 세부 정보를 관리하기 위한 훌륭한 솔루션입니다. (모든 사람의 이름이 중요하지 않다는 것은 아닙니다.) 예를 들어 현재 사이트에는 각 사용자가 보고 싶어하는 콘텐츠를 맞춤 설정할 수 있는 맞춤 서비스가 점점 늘어나고 있습니다. 이런 사이트를 디자인한다면
한 사용자는 녹색 메뉴 표시줄을 좋아하고 다른 사용자는 빨간색 메뉴 표시줄을 선호한다는 정보를 어떻게 관리하겠습니까? 참으로 피곤한 질문이다. 다만, 그러한 정보는 쿠키라는 형태로 안전하게 기록되어 이용자의 컴퓨터에 저장될 수 있으며, 귀하의 데이터베이스 공간은 보다 장기적이고 의미 있는 데이터를 위해 확보될 수 있습니다.
참고: 쿠키는 보안 목적으로 유용한 경우가 많습니다. 여기서는 이 문제에 너무 깊이 들어가고 싶지 않지만
사이트 보안을 유지하기 위해 특정 기간 후에 만료되는 쿠키를 사용하는 방법에 대한 예를 제공하세요.
1. 사용자 이름과 비밀번호를 사용하여 SSL 로그인을 전달합니다.
2. 서버 데이터베이스에서 사용자 이름과 비밀번호를 확인하세요. 로그인에 성공하면 현재 타임스탬프(예: MD5)의 메시지 다이제스트를 생성하고 이를 쿠키 및 서버 데이터베이스에 저장합니다. 서버 데이터베이스의 사용자 기록에 사용자의 로그인 시간을 저장합니다.
3. 각 보안 트랜잭션(사용자가 로그인한 모든 트랜잭션)을 수행할 때 쿠키 메시지 다이제스트를 서버 데이터베이스에 저장된 다이제스트와 비교합니다. 비교에 실패하면
사용자를 로그인 인터페이스로 안내합니다. .
4. 3단계의 확인이 통과되면 현재 시간과 로그인 시간 사이의 경과 시간이 허용 시간을 초과하는지 확인합니다. 사용자가 시간 초과된 경우 사용자는 로그인
인터페이스로 이동됩니다.
5. 3단계와 4단계를 통과한 경우 로그인 시간을 현재 시간으로 재설정하고 거래가 발생하도록 허용합니다. 로그인이 필요한 대부분의 보안 사이트는 여기에 소개된 방법과 유사한 방법을 사용할 수 있습니다
.
쿠키의 구성
쿠키는 원래 CGI 프로그래밍용으로 설계되었습니다. 그러나 Javascript 스크립트를 사용하여 쿠키를 조작할 수도 있습니다. 이 기사에서는 Javascript 스크립트
를 사용하여 쿠키를 조작하는 방법을 보여줍니다. (요구가 있으면 향후 기사에서 쿠키 관리에 Perl을 사용하는 방법을 소개할 수도 있습니다. 하지만 정말 기다릴 수 없다면 지금 가르쳐 드리겠습니다.
CGI.pm을 자세히 살펴보세요. 이 CGI 패키지에는 cookie() 함수를 사용하여 쿠키를 생성할 수 있습니다. 그러나 먼저 쿠키의 특성을 소개하겠습니다.
Javascript에서 쿠키는 실제로 읽을 때 문자열 속성입니다. , 현재 웹 페이지에서 사용되는 모든 쿠키의 이름과 값이 포함된 문자열을 받게 됩니다
. 각 쿠키에는 이름과 값이라는 두 가지 속성 외에도 만료 시간, 경로, 도메인,
및 보안 보안.만료 – 만료 시간입니다. 쿠키 수명을 지정합니다. 특히 값은 만료 날짜입니다. 쿠키가 현재 브라우저 세션보다 오래 지속되도록 하려면
속성을 사용해야 합니다. 만료 날짜가 지나면 브라우저는 아무런 영향 없이 쿠키 파일을 삭제할 수 있습니다.
경로 – 경로. 쿠키와 연결된 웹 페이지를 지정합니다. 값은 디렉터리 또는 경로일 수 있습니다. http://www.zdnet.com/devhead/index.html이
쿠키를 생성하면 http://www.zdnet.com/devhead/ 디렉토리의 모든 페이지와 디렉토리 아래의 모든 페이지 이 쿠키 하위 디렉토리의 페이지에서 액세스할 수 있습니다. 이는
http://www.zdnet.com/devhead/stories/articles의 모든 페이지가 http://www.zdnet.com/devhead/index.html에서 생성된 쿠키에 액세스할 수 있음을 의미합니다.
그러나 http://www.zdnet.com/zdnn/이 http://www.zdnet.com/devhead/index.html에 설정된 쿠키에 액세스해야 하는 경우 어떻게 해야 합니까? 이때
쿠키의 경로 속성을 "/"로 설정해야 합니다. 경로를 지정하면 동일한 서버에서 제공되고 URL에 동일한 경로가 있는 모든 웹 페이지가 쿠키를 공유할 수 있습니다. 이제 또 다른
예를 살펴보세요. http://www.zdnet.com/devhead/filters/ 및 http://www.zdnet.com/devhead/stories/에서 쿠키를 공유하려면 다음을 설정해야 합니다. "
/devhead" 경로입니다.
도메인 – 도메인. 연결된 웹 서버 또는 도메인을 지정합니다. 값은 zdnet.com과 같은 도메인 이름입니다. 이는 경로 속성의 확장입니다.
catalog.mycompany.com이 shoppingcart.mycompany.com에서 설정한 쿠키에 액세스할 수 있도록 하려면 도메인 속성을 "mycompany.com"
으로 설정하고 경로 속성을 " / ". 참고: 쿠키 도메인 속성을 이를 설정한 서버의 도메인과 다른 값으로 설정할 수 없습니다.
안전합니다 – 안전합니다. 네트워크를 통해 사용자와 웹 서버 간에 쿠키 값이 전달되는 방식을 지정합니다. 이 속성의 값은 "secure"이거나 비어 있습니다. 기본적으로 이 속성
은 비어 있습니다. 이는 데이터 전송에 안전하지 않은 HTTP 연결이 사용된다는 의미입니다. 쿠키가 보안으로 표시되면 HTTPS 또는 기타 보안 프로토콜을 통해 쿠키와 웹 서버 간에 데이터가 전송됩니다
. 그러나 보안 속성을 설정한다고 해서 다른 사람이 귀하의 컴퓨터에 로컬로 저장된 쿠키를 볼 수 없다는 의미는 아닙니다. 즉, 쿠키를 보안으로 설정하면 쿠키와 웹
서버 간의 데이터 전송 프로세스가 암호화되고, 로컬에 저장된 쿠키 파일은 암호화되지 않는다는 것만 보장됩니다. 로컬 쿠키를 암호화하려면 데이터를 직접 암호화해야 합니다.
쿠키 조작
쿠키는 문서의 문자열 속성일 뿐이라는 점을 기억하세요. 쿠키를 저장하려면 name=