이 문서에서는 쿠키의 기원과 기본 속성을 간략하게 설명하고, PHP에서 쿠키를 설정하는 방법을 배우기 위한 기술적 배경을 제공하며, PHP 초보자에게 읽어볼 것을 권장합니다.
PHP에서 쿠키를 설정하는 방법을 배우기 전에 먼저 쿠키 기술을 이해해 봅시다.
(1) 쿠키 기술의 소개
WEB 기술 발전의 역사에서 쿠키 기술의 출현은 큰 변화입니다. 첫째, Netscape는 Netscape Navigator 브라우저에 쿠키 기술을 도입한 이후 World Wide Web 협회가 쿠키 표준을 지원하기 시작했습니다. 나중에 Microsoft의 활발한 홍보 이후(Microsoft의 IIS 웹 서버에서 사용하는 ASP 기술이 쿠키 기술을 많이 사용했기 때문에) 쿠키 기술은 Microsoft의 Internet Explorer 브라우저에서 완전히 지원되었습니다. 현재까지 대부분의 브라우저는 쿠키 기술을 지원하거나 최소한 쿠키와 호환됩니다.
기술의 사용.
1) 쿠키란 무엇입니까?
Netscape 공식 문서의 정의에 따르면 쿠키는 서버나 스크립트가 HTTP 프로토콜에 따라 클라이언트 워크스테이션의 정보를 유지 관리하는 방법입니다. 쿠키는 웹서버가 이용자의 브라우저에 저장하는 작은 텍스트 파일로, 여기에는 이용자에 관한 정보(식별번호, 비밀번호, 이용자의 웹사이트에서의 구매방법, 이용자의 사이트 방문횟수 등)가 포함될 수 있습니다. 사용자가 서버에 연결할 때마다 웹 사이트는 쿠키 정보에 액세스할 수 있습니다.
평신도의 관점에서 보면 브라우저는 쿠키를 지원하기 위해 하나 이상의 제한된 파일을 사용합니다. 이러한 파일은 Windows 운영 체제를 사용하는 컴퓨터에서는 쿠키 파일이라고 하며 Macintosh 컴퓨터에서는 매직 쿠키 파일이라고 합니다. 이러한 파일은 웹사이트에서 쿠키 데이터를 저장하는 데 사용됩니다.
웹사이트는 이러한 쿠키 파일에 정보를 삽입할 수 있으며, 이는 일부 인터넷 사용자에게 부작용이 있을 수 있습니다. 일부 사용자는 이것이 개인 정보 침해를 초래한다고 생각합니다. 더 나쁜 것은 일부 사람들은 쿠키가 개인 공간을 침해하고 사용자 컴퓨터에 보안 위험을 초래할 수 있다고 생각한다는 것입니다.
현재 일부 쿠키는 일시적이고 다른 쿠키는 영구적입니다. 임시 쿠키는 지정된 기간 동안만 브라우저에 저장됩니다. 지정된 기간이 만료되면 쿠키는 시스템에 의해 삭제됩니다. 예를 들어, PHP에서는 쿠키를 사용하여 사용자가 웹사이트를 떠날 때까지 사용자 진행 상황을 추적합니다. 영구 쿠키는 사용자의 쿠키 파일에 저장되며 다음에 사용자가 돌아올 때 계속 호출될 수 있습니다.
쿠키를 쿠키 파일에 저장하면 일부 사용자는 너무 멀리 나아가 이것이 큰 문제를 일으킬 것이라고 생각할 것입니다. 주된 이유는 일부 사용자가 쿠키가 사용자가 방문하기를 좋아하는 사이트 유형, 참여하기를 좋아하는 활동 등 사용자의 온라인 서핑 습관을 추적할 것이라고 우려하기 때문입니다. 이러한 개인정보가 불순한 의도를 가진 누군가의 손에 넘어갈 경우 해당 개인은 수많은 광고 쓰레기의 대상이 되거나 심지어 예상치 못한 피해를 입을 수도 있다는 우려가 있습니다. 그러나 웹사이트 외부의 사용자는 웹사이트 전체에서 쿠키 정보를 얻을 수 없기 때문에 이러한 걱정은 전혀 발생하지 않습니다. 따라서 이러한 목적으로 쿠키를 사용하는 것은 불가능합니다. 그러나 일부 사용자의 오해와 "거짓 소문"으로 인해 일부 브라우저 개발자는 친숙한 대응을 할 수밖에 없습니다(예: Netscape Navigator 4.0 및 Internet Explorer 3.0 모두 쿠키 차단 옵션을 제공합니다).
오랫동안 쿠키 기술을 기다린 결과 많은 브라우저 개발자는 브라우저에서 쿠키에 대한 유연한 제어 기능을 제공해야 했습니다. 예를 들어 현재 두 가지 주요 브라우저인 Netscape Navigator와 Internet Explorer는 이러한 방식으로 쿠키를 처리합니다.
: Netscape Navigator 4.0은 쿠키 경고를 허용할 뿐만 아니라 쿠키도 차단할 수 있습니다. Internet Explorer 3.0도 쿠키를 차단할 수 있지만 Internet Explorer 4.0에서는 차단 옵션을 제공하지 않고 경고만 허용할 수 있습니다.
Explorer 4.0 이후 업데이트된 버전에는 쿠키 차단 옵션이 추가되었습니다.
또한 최신 기술 중 상당수는 쿠키를 차단할 수 없는 브라우저에서도 쿠키를 차단할 수 있습니다. 예를 들어 쿠키 파일을 다른 유형으로 설정하여 쿠키 사용을 제한할 수 있습니다. 그러나 불행하게도 쿠키를 완전히 차단하려면 많은 사이트 페이지를 거부하게 됩니다. 예를 들어, 오늘날 많은 웹 사이트 개발자가 쿠키 기술의 강력한 기능에 푹 빠져 있기 때문에 세션 개체의 사용은 쿠키 지원과 분리될 수 없습니다.
오늘날 여전히 쿠키에 대해 논쟁을 벌이는 일부 인터넷 사용자가 있지만 대다수의 인터넷 사용자는 여전히 쿠키를 받아들이는 경향이 있습니다. 따라서 당사는 쿠키 기술을 사용하여 웹 페이지를 안전하게 개발할 수 있습니다.
2) 쿠키는 어떻게 작동하나요?
쿠키를 이해하려면 쿠키의 작동 방식을 아는 것이 중요합니다. 일반적으로 쿠키는 HTTP 헤더를 통해 서버에서 브라우저로 반환됩니다. 먼저, 서버는 응답으로 Set-Cookie 헤더를 사용하여 쿠키를 생성한 다음, 브라우저는 생성된 쿠키를 Cookie 헤더를 통해 요청에 포함시키고 이를 서버에 반환함으로써 브라우저의 인수를 완성합니다.
예를 들어, 방문자의 정보를 담기 위해 login이라는 쿠키를 생성했는데, 쿠키 생성 시 서버 측 헤더는 아래와 같습니다. 방문자의 등록 이름은 "Michael Jordan"이고, 생성된 쿠키도 다음과 같습니다. 경로와 같은 속성
도메인, 만료 등이 지정됩니다.
쿠키 설정:로그인=마이클 조던;경로=/;도메인=msn.com;
만료=Monday,01-Mar-99 00:00:01 GMT
위 헤더는 자동으로 브라우저 컴퓨터의 쿠키 파일에 레코드를 추가합니다. 브라우저는 변수 이름이 "login"인 쿠키 값을 "Michael Jordon"에 할당합니다. 실제 전달 과정에서 이 쿠키의 값은 URLEncode 메서드를 통해 전달됩니다.
URL 인코딩 작업. 쿠키 값이 포함된 HTTP 헤더가 브라우저의 쿠키 파일에 저장된 후 헤더는 요청을 통한 경로를 무시하고 브라우저의 인증 작업을 완료하여 쿠키를 서버에 반환하도록 브라우저에 알립니다.
또한 당사는 쿠키의 일부 속성을 사용하여 쿠키 사용을 제한합니다. 예를 들어, 도메인 속성은 브라우저 측에서 쿠키 전송을 제한할 수 있습니다. 위의 예에서 쿠키는 지정된 서버로만 전송될 수 있으며 www.phpq.net 과 같은 다른 웹 사이트로는 이동하지 않습니다. Expires 속성은 쿠키가 저장되는 기간을 지정합니다. 예를 들어 위 쿠키는 1999년 3월 1일에 1초 동안만 브라우저에 저장됩니다. 물론, 브라우저에 쿠키가 너무 많아 시스템에서 허용하는 범위를 초과하는 경우 브라우저는 해당 쿠키를 자동으로 삭제합니다. Path 속성은 쿠키가 서버로 전송될 디렉터리 경로를 지정하는 데 사용됩니다.
참고: 브라우저가 쿠키를 생성한 후 이 웹사이트에 대한 모든 요청은 헤더에 이 쿠키를 포함하지만 다른 웹사이트의 요청에 대한 쿠키는 전송되지 않습니다. 그리고 브라우저는 쿠키가 만료될 때까지 계속해서 쿠키를 보냅니다. 쿠키 기술은 처음부터 많은 논란의 여지가 있는 기술로, 대다수의 인터넷 사용자와 웹 개발자에게 논쟁의 초점이 되었습니다. 일부 고위 웹 전문가를 포함한 일부 인터넷 사용자는 쿠키 기술의 기능이 너무 약하거나 기타 기술적 성능상의 이유로 쿠키의 사용이 해를 끼친다고 느끼기 때문에 쿠키의 생성 및 홍보에 불만족합니다. 네트워크 사용자의 개인정보 보호를 위해. 쿠키란 웹서버가 이용자의 브라우저에 저장하는 아주 작은 텍스트 파일이므로 이용자에 관한 정보(식별번호, 비밀번호, 이용자가 웹사이트에서 구매하는 방식, 이용자의 방문횟수 등)를 담고 있습니다. 사이트를 방문합니다). 그렇다면 쿠키 기술이란 정확히 무엇입니까? 실제로 인터넷 사용자의 개인 정보 보호에 해를 끼치나요? 위의 정보를 읽은 후 조치를 염두에 두어야 합니다.