찾다
백엔드 개발PHP 튜토리얼PHP 세션 제어 쿠키 및 세션

PHP 세션 제어 쿠키 및 세션

Nov 14, 2017 pm 02:26 PM
cookiephpsession

PHP 세션 제어: SessionCookie자세한 설명, session cookie

1 세션 제어란 무엇입니까

HTTP는 상태 비저장 프로토콜이며 두 가지를 유지하는 내장 메커니즘이 없습니다. 거래 간 상태. 사용자가 한 페이지를 요청한 후 다른 페이지를 요청하면 HTTP는 두 요청이 모두 동일한 사용자로부터 왔다는 것을 알려주는 방법이 없습니다.

세션 제어의 아이디어는 웹사이트의 세션에 따라 사용자를 추적하여 사용자 로그인을 쉽게 지원하고 인증 수준 및 개인 선호도에 따라 해당 콘텐츠를 표시할 수 있도록 하는 것입니다. 세션 중 이 사용자 동작은 장바구니를 구현할 수도 있습니다.

2. 기본 세션 기능 이해하기

PHP 세션은 암호화된 난수인 고유 세션 ID에 의해 구동됩니다. 이는 PHP에 의해 생성되며 세션 수명 주기 동안 클라이언트에 저장되며 사용자 컴퓨터의 쿠키에 저장되거나 URL을 통해 네트워크로 전달될 수 있습니다.

세션 ID는 세션 변수가 되는 특정 변수를 등록할 수 있는 키와 같습니다. 이러한 변수의 내용은 서버 측에 저장됩니다. 세션 ID는 클라이언트가 볼 수 있는 유일한 정보입니다. 클라이언트가 특정 웹 사이트 링크 중에 쿠키나 URL을 통해 세션 ID를 볼 수 있는 경우 해당 세션에 대해 서버에 저장된 세션 변수에 액세스할 수 있습니다. 기본적으로 세션 변수는 서버의 일반 파일에 저장됩니다.

URL에 세션 ID를 저장하세요. URL에 임의의 숫자 문자열이 있으면 일종의 세션 제어일 수도 있습니다.

쿠키는 세션과 다른 솔루션으로, 여러 트랜잭션에서 상태를 유지하는 동시에 깨끗한 URL을 유지하는 문제도 해결합니다.

세션 제어 프로세스: 사용자가 처음 로그인하거나 사이트의 페이지를 탐색할 때 사이트는 PHP 세션 ID를 생성하고 쿠키를 통해 이를 클라이언트(브라우저)로 보냅니다. 사용자가 사이트의 다른 페이지를 클릭하면 브라우저가 이 URL에 연결되기 시작합니다. 접속하기 전, 브라우저는 로컬에 저장된 쿠키를 먼저 검색하고, 접속 중인 URL과 관련된 쿠키가 있으면 서버에 제출합니다. 최초 로그인 또는 최초 접속 시, 해당 사이트의 URL과 관련된 쿠키(저장된 세션 ID)가 생성되므로, 이용자가 본 사이트에 다시 접속할 때 사이트는 이 세션 ID를 통해 이용자를 식별할 수 있습니다. 이 세션 ID와 관련된 세션 변수는 트랜잭션 간의 연속성을 유지하기 위해 서버의 세션 파일에서 검색됩니다.

3. 쿠키란 무엇입니까? 쿠키는 서버 측에서 생성되어 클라이언트 브라우저에 다시 기록됩니다. 브라우저는 응답 헤더에 쿠키를 작성하라는 지시를 받아 로컬 임시 폴더에 저장합니다. 쿠키 콘텐츠를 저장하는 쿠키 파일이 생성됩니다. 쿠키 콘텐츠는 키-값 쌍으로 저장되며 키와 값은 모두 문자열일 수 있습니다.

쿠키는 실제로 스크립트를 통해 클라이언트 컴퓨터에 저장할 수 있는 작은 정보 조각입니다. 다음 형식의 특정 데이터가 포함된 HTTP 헤더를 전송하여 사용자 컴퓨터에 쿠키를 설정할 수 있습니다.

Set-Cookie: NAME = VALUE; [expires=DATE;] [path=PATH;] [domain= DOAMIN_NAME;] [보안]

이렇게 하면 값이 VALUE인 NAME이라는 쿠키가 생성됩니다. 이 매개변수를 제외한 다른 모든 매개변수는 선택사항입니다. 만료 필드는 쿠키의 만료 날짜를 설정합니다(만료 날짜가 설정되지 않은 경우 수동으로 삭제하지 않는 한 영원히 유효합니다). 경로 및 도메인 필드가 결합되어 URL 또는 쿠키 관련 URL을 구성합니다. secure 키워드는 일반 HTTP 연결에서는 쿠키가 실행되지 않음을 의미합니다.

브라우저가 URL에 연결되면 먼저 로컬에 저장된 쿠키를 검색합니다. 연결되는 URL과 관련된 쿠키가 있는 경우 브라우저는 이를 서버에 제출합니다.

4. 세션이란 무엇인가요

세션은 애플리케이션 서버가 관리하는 서버측 저장 공간으로, 사용자가 서버에 접속하면 서버에서 고유한 세션 ID를 생성하고, 이 세션 ID는 서버측에 접속하기 위한 식별자로 사용됩니다. 세션 저장 공간은 세션 중에 클라이언트에게 부여된 고유한 세션 ID를 사용하여 현재 사용자를 식별하고 다른 사용자와 구별하는 데 사용됩니다. SessionID를 통해 각 액세스 요청을 수락하여 현재 사용자를 식별하고, 사용자의 특정 정보를 추적 및 유지하며, 세션에 숫자 또는 텍스트 정보를 저장할 수 있습니다. 이 정보는 서버 측에 저장됩니다. 물론 세션 ID는 세션 지속성을 위한 세션 정보로 데이터베이스에 저장될 수도 있습니다. 이를 통해 사용자 로그인 수, 온라인 여부, 온라인 시간 등을 추적하여 HTTP 상태 비저장 사물 간의 관계를 유지할 수 있습니다. 세션의 콘텐츠 저장은 키-값 쌍의 목록이며 키는 문자열 유형입니다. 세션 저장이 더 편리하며 값은 객체일 수 있습니다.

세션 중에 세션은 클라이언트와 서버에 각각 두 개의 파일로 저장됩니다. 클라이언트는 세션 ID를 쿠키 모드(기본 저장 방법)로 저장하거나 URL 문자열 형식으로 전달할 수 있습니다. 서버측은 일반적으로 지정된 세션 디렉터리에 텍스트 형태로 저장됩니다. 서버 측에서는 session.use_cookies를 통해 클라이언트가 사용하는 저장 방법을 제어할 수 있습니다. 쿠키 저장 방식으로 정의하면 session.cookie_lifetime을 통해 클라이언트에 저장되는 쿠키의 유효기간을 제어할 수 있다(기본값은 0, 브라우저 종료 시 지워짐). 클라이언트가 쿠키를 사용하여 세션 ID를 저장하는 경우 "임시" 쿠키를 사용하여 저장합니다. (쿠키 이름은 PHPSESSID입니다. 자세한 내용은 Firebug를 통해 알아볼 수 있습니다. 이름은 php.ini session.name을 통해 변경할 수 있습니다. ), 사용자가 페이지를 제출하면 세션 데이터에 액세스하기 위해 이 SessionID가 서버에 제출됩니다. 이 프로세스에는 개발자 개입이 필요하지 않습니다.

5. SESSION과 COOKIE의 차이점 및 연결

동일한 점: 둘 다 HTTP 무국적 문제를 해결할 수 있으므로 동일한 클라이언트가 정보를 저장 및 설정하고 웹 사이트 방문에 대한 여러 요청을 통해 연결을 설정할 수 있습니다.

차이점: 간단히 말하면 쿠키 정보는 클라이언트 측에 저장되고, 세션 정보는 서버 측에 저장됩니다.

Session은 키-값 쌍을 사용합니다. 즉, ID는 클라이언트 측에 저장되고, 값은 서버 측에 배치됩니다. 이런 방식으로 사용자의 ID를 사용하여 해당 값을 찾습니다. 값은 서버 측에 배치되며 시간 제한이 있으면 서버가 자동으로 재활용/해제합니다.

쿠키에는 두 가지 방법이 있습니다. 하나는 브라우저의 변수에 값을 저장하고 브라우저를 닫을 때 종료되는 것이고, 다른 하나는 시간이 만료되지 않는 한 하드 디스크에 저장하는 것입니다. 다음 번에 사용됩니다.

Contact: 클라이언트가 쿠키 방식에 따라 저장된 SessionID를 사용할 때 일반적으로 SessionID가 쿠키에 저장됩니다.

참고: 쿠키는 동일한 코어를 가진 브라우저 간에 공유됩니다. Firefox 및 IE와 같이 코어가 다른 브라우저는 공유되지 않습니다(저장 위치가 다르며 물론 공유되지 않습니다). 다른 커널을 사용하는 브라우저는 쿠키를 공유할 수 없으며 다른 세션 ID도 생성합니다.

위 내용은 PHP 세션 제어에 대한 자세한 설명입니다. 도움이 되셨으면 좋겠습니다.

관련 추천:

PHP 세션 제어: 세션 및 쿠키에 대한 자세한 설명, sessioncookie

php 세션 제어, php 세션

php 세션 제어 예제 코드에 대한 자세한 소개

php 세션 쿠키 제어 및 세션 세션 처리_PHP 튜토리얼

위 내용은 PHP 세션 제어 쿠키 및 세션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
과대 광고 : 오늘 PHP의 역할을 평가합니다과대 광고 : 오늘 PHP의 역할을 평가합니다Apr 12, 2025 am 12:17 AM

PHP는 현대적인 프로그래밍, 특히 웹 개발 분야에서 강력하고 널리 사용되는 도구로 남아 있습니다. 1) PHP는 사용하기 쉽고 데이터베이스와 완벽하게 통합되며 많은 개발자에게 가장 먼저 선택됩니다. 2) 동적 컨텐츠 생성 및 객체 지향 프로그래밍을 지원하여 웹 사이트를 신속하게 작성하고 유지 관리하는 데 적합합니다. 3) 데이터베이스 쿼리를 캐싱하고 최적화함으로써 PHP의 성능을 향상시킬 수 있으며, 광범위한 커뮤니티와 풍부한 생태계는 오늘날의 기술 스택에 여전히 중요합니다.

PHP의 약한 참고 자료는 무엇이며 언제 유용합니까?PHP의 약한 참고 자료는 무엇이며 언제 유용합니까?Apr 12, 2025 am 12:13 AM

PHP에서는 약한 참조가 약한 회의 클래스를 통해 구현되며 쓰레기 수집가가 물체를 되 찾는 것을 방해하지 않습니다. 약한 참조는 캐싱 시스템 및 이벤트 리스너와 같은 시나리오에 적합합니다. 물체의 생존을 보장 할 수 없으며 쓰레기 수집이 지연 될 수 있음에 주목해야합니다.

PHP의 __invoke 마법 방법을 설명하십시오.PHP의 __invoke 마법 방법을 설명하십시오.Apr 12, 2025 am 12:07 AM

\ _ \ _ 호출 메소드를 사용하면 객체를 함수처럼 호출 할 수 있습니다. 1. 객체를 호출 할 수 있도록 메소드를 호출하는 \ _ \ _ 정의하십시오. 2. $ obj (...) 구문을 사용할 때 PHP는 \ _ \ _ invoke 메소드를 실행합니다. 3. 로깅 및 계산기, 코드 유연성 및 가독성 향상과 같은 시나리오에 적합합니다.

동시성에 대해 PHP 8.1의 섬유를 설명하십시오.동시성에 대해 PHP 8.1의 섬유를 설명하십시오.Apr 12, 2025 am 12:05 AM

섬유는 PHP8.1에 도입되어 동시 처리 기능을 향상시켰다. 1) 섬유는 코 루틴과 유사한 가벼운 동시성 모델입니다. 2) 개발자는 작업의 실행 흐름을 수동으로 제어 할 수 있으며 I/O 집약적 작업을 처리하는 데 적합합니다. 3) 섬유를 사용하면보다 효율적이고 반응이 좋은 코드를 작성할 수 있습니다.

PHP 커뮤니티 : 자원, 지원 및 개발PHP 커뮤니티 : 자원, 지원 및 개발Apr 12, 2025 am 12:04 AM

PHP 커뮤니티는 개발자 성장을 돕기 위해 풍부한 자원과 지원을 제공합니다. 1) 자료에는 공식 문서, 튜토리얼, 블로그 및 Laravel 및 Symfony와 같은 오픈 소스 프로젝트가 포함됩니다. 2) 지원은 StackoverFlow, Reddit 및 Slack 채널을 통해 얻을 수 있습니다. 3) RFC에 따라 개발 동향을 배울 수 있습니다. 4) 적극적인 참여, 코드에 대한 기여 및 학습 공유를 통해 커뮤니티에 통합 될 수 있습니다.

PHP vs. Python : 차이점 이해PHP vs. Python : 차이점 이해Apr 11, 2025 am 12:15 AM

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

PHP : 죽어 가거나 단순히 적응하고 있습니까?PHP : 죽어 가거나 단순히 적응하고 있습니까?Apr 11, 2025 am 12:13 AM

PHP는 죽지 않고 끊임없이 적응하고 진화합니다. 1) PHP는 1994 년부터 새로운 기술 트렌드에 적응하기 위해 여러 버전 반복을 겪었습니다. 2) 현재 전자 상거래, 컨텐츠 관리 시스템 및 기타 분야에서 널리 사용됩니다. 3) PHP8은 성능과 현대화를 개선하기 위해 JIT 컴파일러 및 기타 기능을 소개합니다. 4) Opcache를 사용하고 PSR-12 표준을 따라 성능 및 코드 품질을 최적화하십시오.

PHP의 미래 : 적응 및 혁신PHP의 미래 : 적응 및 혁신Apr 11, 2025 am 12:01 AM

PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전