찾다
백엔드 개발PHP 튜토리얼PHP 세션 관리_세션 세션

1. 세션 이해

  • 세션은 사용자가 페이지에 액세스하는 순간부터 시작되어 사용자가 웹사이트 연결을 끊으면 끝나며 세션의 수명 주기를 구성합니다. 사용자가 연결할 때마다 PHP는 현재 사용자를 식별하고 다른 사용자와 구별하기 위해 고유한 SessionID를 자동으로 생성합니다.

  • 세션 중에 PHP는 기본적으로 PHPSESSIONID라는 식별자를 생성합니다(이름은 php.ini 파일에서 변경 가능). 이 식별자는 각 페이지와 함께 브라우저로 전송됩니다. 다음 페이지 요청이 웹 서버로 반환됩니다.

  • SessionID는 세션 정보로 데이터베이스에 저장되거나, 다른 사용자를 구별하기 위한 기본 키로 사용되거나, 서버 측 세션 파일 이름에서 고유 문자열로 사용될 수 있습니다.

  • 세션 중에 SessionID는 클라이언트와 서버의 두 위치에 저장됩니다. 클라이언트 측에서는 임시 쿠키가 사용되어 브라우저의 지정된 디렉토리(세션 쿠키라고 함)에 저장되며, 서버 측에서는 지정된 세션 디렉토리에 텍스트 파일 형식으로 저장됩니다.

2. 세션 시작

  • session_start() 함수를 통해 세션 생성

    bool session_start(void); 🎜> 참고: 브라우저는
    을 사용하기 전에는 어떤 출력도 생성할 수 없습니다. 그렇지 않으면 오류가 발생합니다. session_start()

  • 함수를 통해 세션 생성 session_register()

함수는 암시적으로 세션을 시작하기 위해 세션에 대한 변수를 기록하는 데 사용됩니다. 세션이지만 php.ini 파일의 옵션이 필요하고, Register_globals 지시문을 'on'으로 설정하고 Apache 서버를 다시 시작하십시오. session_register()

  • 세션 변수가 시작된 후에는 모두 전역 배열

    에 저장됩니다. 전역 배열$_SESSION[]을 통해 세션 변수를 생성하는 것은 쉽습니다. 배열에 요소를 직접 추가하기만 하면 됩니다. $_SESSION

3. 세션 적용

  • PHP의 세션은 강력합니다. 현재 사용자의 특정 데이터와 관련 정보를 저장할 수 있습니다. 배열, 객체, 문자열 등 모든 데이터 유형을 저장할 수 있습니다. Session에 다양한 형태의 데이터를 추가하기 위해서는 전역 배열

    을 적용해야 합니다. $_SESSION[]

4. 세션 삭제

  • 단일 세션 삭제

    세션 변수를 삭제하는 것은 배열 작업과 동일합니다. 단지 배열 요소에서 직접 로그아웃
    하면 됩니다. $_SESSION

    unset($_SESSION['what']);

  • 여러 세션 삭제

    모든 세션 변수를 한 번에 로그아웃하려면
    $_SESSION

    $_SESSION = array();

  • 현재 세션 종료 전체 세션이 종료된 경우 먼저 모든 세션 변수를 로그아웃한 후

    함수를 사용하여 현재 세션을 지우고 세션의 모든 리소스를 지우고 세션을 완전히 삭제해야 합니다.
    session_destroy()session_destroy();

  • 5. 세션 애플리케이션

Session을 통해 페이지 액세스 권한을 제어합니다.
  • 6. 쿠키와 세션 비교

가장 큰 차이점은

세션은 정보를 서버에 저장하고 세션 ID를 사용하여 쿠키를 전달합니다. 서버는 세션 ID를 받은 후 이 ID를 기반으로 관련 세션 정보 리소스를 제공합니다.
  • 쿠키는 클라이언트의 모든 정보를 텍스트 파일 형식으로 저장하며 브라우저에서 사용됩니다. 아웃 관리 및 유지 보수.
  • 세션은 서버에 저장되며 클라이언트 사용자는 세션 파일의 내용을 수정할 수 없습니다. 쿠키는 클라이언트 측에 저장되며 세션은 쿠키보다 훨씬 더 안전합니다.
위의 내용을 포함하여 PHP 세션 관리_Session 세션을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
SpringBoot Session怎么设置会话超时SpringBoot Session怎么设置会话超时May 15, 2023 pm 02:37 PM

问题发现springboot项目生产session-out超时问题,描述下问题:在测试环境通过改动application.yaml配置session-out,经过设置不同时间验证session-out配置生效,于是就直接设置了过期时间为8小时发布到了生产环境。然而中午接到客户反应项目过期时间设置较短,半小时不操作就会话过期需要反复登陆。解决处理开发环境:springboot项目内置Tomcat,所以项目中application.yaml配置session-out是生效的。生产环境:生产环境发布是

php session刷新后没有了怎么办php session刷新后没有了怎么办Jan 18, 2023 pm 01:39 PM

php session刷新后没有了的解决办法:1、通过“session_start();”开启session;2、把所有的公共配置写在一个php文件内;3、变量名不能和数组下标相同;4、在phpinfo里面查看session数据的存储路径,并查看该文件目录下的sessio是否保存成功即可。

session php默认失效时间是多少session php默认失效时间是多少Nov 01, 2022 am 09:14 AM

session php默认失效时间是1440秒,也就是24分钟,表示客户端超过24分钟没有刷新,当前session就会失效;如果用户关闭了浏览器,会话就会结束,Session就不存在了。

Springboot2 session设置超时时间无效怎么解决Springboot2 session设置超时时间无效怎么解决May 22, 2023 pm 01:49 PM

问题:今天项目中遇到了一个设置时间超时的问题,按SpringBoot2的application.properties更改一直不生效。解决方案:server.*属性用于控制SpringBoot使用的嵌入式容器。SpringBoot将使用ServletWebServerFactory实例之一创建servlet容器的实例。这些类使用server.*属性来配置受控的servlet容器(tomcat,jetty等)。当应用程序作为war文件部署到Tomcat实例时,server.*属性不适用。它们不适用,

JavaScript和PHP的cookie之间有哪些区别?JavaScript和PHP的cookie之间有哪些区别?Sep 02, 2023 pm 12:29 PM

JavaScriptCookie使用JavaScriptcookie是记住和跟踪偏好、购买、佣金和其他信息的最有效方法。更好的访问者体验或网站统计所需的信息。PHPCookieCookie是存储在客户端计算机上的文本文件并保留它们用于跟踪目的。PHP透明地支持HTTPcookie。JavaScriptcookie如何工作?您的服务器将一些数据发送到访问者的浏览器cookie的形式。浏览器可以接受cookie。如果存在,它将作为纯文本记录存储在访问者的硬盘上。现在,当访问者到达站点上的另一个页面时

Redis的共享session应用如何实现短信登录Redis的共享session应用如何实现短信登录Jun 03, 2023 pm 03:11 PM

1.基于session实现短信登录1.1短信登录流程图1.2实现发送短信验证码前端请求说明:说明请求方式POST请求路径/user/code请求参数phone(电话号码)返回值无后端接口实现:@Slf4j@ServicepublicclassUserServiceImplextendsServiceImplimplementsIUserService{@OverridepublicResultsendCode(Stringphone,HttpSessionsession){//1.校验手机号if

PHP如何在多个文件中正确地读取和写入Session数据PHP如何在多个文件中正确地读取和写入Session数据Mar 23, 2023 am 11:12 AM

当您在使用PHP会话(Session)时,有时会发现Session在一个文件中可以正常读取,但在另一个文件中却无法读取。这可能会让您感到困惑,因为会话数据应该可以在整个应用程序中共享。本文将解释如何在多个文件中正确地读取和写入PHP会话数据。

PHP如何处理微信小程序中的session问题PHP如何处理微信小程序中的session问题Jun 02, 2023 pm 03:40 PM

近年来,微信小程序风靡全球,已经成为了许多企业和个人开发者的首选平台。在小程序的开发中,我们经常会遇到session问题,也就是如何在小程序中保存用户登录状态。这个问题对于网站开发者来说并不陌生,但在小程序中却有些不同。本文将介绍如何使用PHP解决微信小程序中的session问题。一、小程序登录过程概述小程序的登录流程与网站的登录流程类似,分为以下几个步骤:

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를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기