찾다
PHP의 쿠키와 세션Jan 16, 2017 am 11:01 AM

PHP에는 매우 중요한 두 가지 기능인 쿠키와 세션이 있는데 어떻게 사용되며 차이점은 무엇인가요?

쿠키와 세션에 대해 알아보겠습니다

쿠키 소개

쿠키는 클라이언트 브라우저에 저장되는 데이터로, 사용자 데이터를 추적하고 저장하는 데 사용됩니다. . 일반적으로 쿠키는 HTTP 헤더를 통해 서버에서 클라이언트로 반환됩니다. 대부분의 웹 프로그램은 쿠키 연산을 지원합니다.

쿠키는 HTTP 헤더에 존재하므로 헤더 기능의 사용 제한과 마찬가지로 다른 정보가 출력되기 전에 설정해야 합니다.

쿠키 방법 설정

setcookie("name",'zhangsan');

setcookie("name",'zhangsan',time()+60);/ /쿠키 유효 시간을 60초로 설정

//setcookie("visittime",date("y-m-d H:i:s"),time()+60);//쿠키를 저장하는 변수를 설정합니다. 쿠키 만료 시간

쿠키 방법 읽기

$name=$_COOKIE["name"};

쿠키 방법 삭제

setcookie("name", "" ,time()-1);//cookie() 시간을 현재 시간에서 1을 뺀 값으로 설정합니다. time() 함수는 만료 시간에서 1초를 빼면 현재 타임스탬프를 반환합니다. , 따라서 쿠키 삭제

cookiesz를 삭제하려면 setcookie() 함수의 두 번째 매개변수를 null 값으로 설정하고 세 번째 매개변수 쿠키의 만료 시간을 현재보다 짧게 설정하면 됩니다. 시스템 시간

PHP의 쿠키와 세션

쿠키를 이해한 후 세션을 살펴보겠습니다

세션은 사용자의 세션 데이터를 아무런 데이터 없이 서버에 저장합니다. 크기 제한은 사용자 식별을 위해 session_id를 사용합니다. 기본적으로 PHP 세션 ID는 쿠키를 통해 저장되므로 seesion은 어느 정도 쿠키에 의존합니다. 그러나 이것이 절대적인 것은 아닙니다. 세션 ID는 식별을 위해 서버에 전달될 수 있는 한 매개변수를 통해 구현될 수도 있습니다.

세션 사용

PHP에서 세션을 사용하는 방법은 매우 간단합니다. 먼저 session_start 메서드를 실행하여 세션을 연 다음 전역 변수 $_SESSION을 통해 세션을 읽고 씁니다.

session_start();$_SESSION['test'] = time();var_dump($_SESSION);

session은 설정할 값을 자동으로 인코딩 및 디코딩하므로 세션이 지원할 수 있습니다. 데이터 및 객체를 포함한 모든 데이터 유형.

session_start();$_SESSION['ary'] = array('name' => 'jobs');$_SESSION['obj'] = new stdClass();var_dump($_SESSION);

기본적으로 세션은 파일 형태로 서버에 저장되므로, 페이지에서 세션이 열리면 해당 세션 파일이 독점적으로 점유됩니다. 이로 인해 현재 사용자의 다른 동시 접근이 발생하게 됩니다. 실행하고 기다릴 수 없습니다. 이 문제는 캐시 또는 데이터베이스 저장소를 사용하여 해결할 수 있으며 이에 대해서는 일부 고급 과정에서 설명하겠습니다.

세션 삭제 및 삭제

세션 값을 삭제하려면 PHP의 unset 함수를 사용하면 됩니다. 삭제 후에는 전역 변수 $_SESSION에서 제거되며 액세스할 수 없습니다.

session_start();$_SESSION['name'] = 'jobs';unset($_SESSION['name']);echo $_SESSION['name'] //프롬프트 이름이 존재하지 않습니다

모든 세션을 삭제하려면 session_destroy 함수를 사용하여 현재 세션을 삭제할 수 있습니다. session_destroy는 모든 데이터를 삭제하지만 session_id는 여전히 존재합니다.

session_start();$_SESSION['name'] = 'jobs';$_SESSION['time'] = time();session_destroy();

session_destroy에 주목할 가치가 있습니다. $_SESSION 전역 변수의 값은 즉시 소멸되지 않으며 다음에 접근할 때만 $_SESSION이 비어 있으므로 $_SESSION을 즉시 소멸시켜야 하는 경우 unset 함수를 사용할 수 있습니다.

session_start();$_SESSION['name'] = 'jobs';$_SESSION['time'] = time();unset($_SESSION);session_destroy(); //현재는 비어 있습니다

일반적으로 사용자가 로그아웃할 때 사용되는 쿠키의 session_id를 동시에 파기해야 하는 경우 setcookie 메소드를 명시적으로 호출하여 session_id의 쿠키 값을 삭제합니다.

세션을 사용하여 사용자 로그인 정보 저장

세션은 다양한 유형의 데이터를 저장하는 데 사용될 수 있으므로 사용자 로그인 정보, 장바구니 데이터, 또는 임시 사용을 위한 일부 임시 데이터 등

사용자가 성공적으로 로그인한 후 사용자 정보는 일반적으로 세션에 저장될 수 있습니다. 일반적으로 일부 중요한 필드는 별도로 저장되며 모든 사용자 정보는 독립적으로 저장됩니다.

$_SESSION['uid'] = $userinfo['uid'];$_SESSION['userinfo'] = $userinfo;

일반적으로 로그인 정보는 sessioin에 저장할 수 있습니다. 또는 쿠키에 저장될 수 있습니다. 차이점은 세션이 여러 데이터 유형에 쉽게 액세스할 수 있는 반면, 쿠키는 보안이 더 높은 일부 데이터의 경우 쿠키를 형식화하고 암호화하여 저장해야 한다는 것입니다. 서버 측의 세션 저장소가 더 안전합니다.

header("content-type:text/html; charset=utf-8");

session_start();//사용자가 성공적으로 로그인하여 다음 사용자 데이터를 얻었다고 가정합니다. $userinfo = array(

'uid' => 100,

'name' => 'liu',

'email' => '123456789@qq.com',

'sex' => 'man',

'age' => '23');

/* 세션에 사용자 정보 저장*/

$_SESSION['uid'] = $userinfo['uid'];

$_SESSION['name'] = $userinfo['name'];

$_SESSION ['userinfo '] = $userinfo;

//* 사용자 데이터를 쿠키에 저장하는 간단한 방법*/

$secureKey = 'php';

//암호화 키 $ str = serialize($userinfo);

//사용자 정보 직렬화 //사용자 정보를 암호화하기 전

$str = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5( $secureKey), $str, MCRYPT_MODE_ECB ));

//사용자 정보가 암호화된 후//암호화된 사용자 데이터를 쿠키에 저장

setcookie('userinfo', $str) ;

?>

PHP의 쿠키와 세션

마지막으로 세션과 쿠키의 가장 큰 차이점을 살펴보겠습니다.

먼저 세션은 세션 정보가 서버에 저장되고, 클라이언트의 정보는 세션 ID를 통해 전송됩니다. 동시에 서버는 세션 ID를 수신한 후 이 ID를 기반으로 관련 세션 정보 자원을 제공합니다.

둘째, 쿠키는 모든 정보를 양식과 결합합니다. 의 텍스트는 클라이언트에 저장되고 브라우저에서 관리 및 유지됩니다

셋째, 세션은 서버에 저장되므로 모든 원격 사용자는 세션 파일과 쿠키의 내용을 수정할 수 없습니다

클라이언트용입니다. 최종 저장, 모든 세션은 쿠키보다 훨씬 안전하며, 물론 쉬운 제어, 고객 정의 저장 등 많은 장점이 있습니다. (데이터베이스에 저장됨)...


성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
修复:谷歌浏览器请求太多错误 429 [已解决]修复:谷歌浏览器请求太多错误 429 [已解决]Apr 16, 2023 am 09:22 AM

近期很多Windows用户反映,当他们尝试访问某个URL时,PC上的GoogleChrome浏览器显示错误429。这是因为每次用户尝试在短时间内通过浏览器。通常,此错误是由网站生成的,以避免通过向服务器发送过多请求而被机器人或黑客入侵病毒。用户对在这个阶段可以做什么感到困惑,并因此感到失望。导致此错误的因素可能很多,我们在下面列出了其中一些因素。缓存内存和其他站点数据未清除从第三方来源安装的扩展系统上的一些有害软件病毒攻击在研究了上面列出的因素之后,我们在这篇文章中收集了一些修复程序,这

如果 Grammarly 无法在 Windows 10 浏览器上运行的 8 个重大修复如果 Grammarly 无法在 Windows 10 浏览器上运行的 8 个重大修复May 05, 2023 pm 02:16 PM

如果您在Windows10或11PC上遇到语法问题,本文将帮助您解决此问题。Grammarly是最流行的打字助手之一,用于修复语法、拼写、清晰度等。它已经成为写作专业人士必不可少的一部分。但是,如果它不能正常工作,它可能是一个非常令人沮丧的体验。许多Windows用户报告说此工具在他们的计算机上运行不佳。我们做了深入的分析,找到了这个问题的原因和解决方案。为什么Grammarly无法在我的PC上运行?由于几个常见原因,PC上的Grammarly可能无法正常工作。它包括以下内

如何修复 Google Chrome 上的 Roblox 403 禁止错误如何修复 Google Chrome 上的 Roblox 403 禁止错误May 19, 2023 pm 01:49 PM

许多Windows用户最近在尝试访问GoogleChrome浏览器中的网站URL时遇到了一个不寻常的错误,称为Roblox403禁止错误。即使在多次重新启动Chrome应用程序后,他们也无能为力。此错误可能有几个潜在原因,我们在下面概述并列出了其中一些。Chrome的浏览历史和其他缓存以及损坏的数据不稳定的互联网连接网站网址不正确从第三方来源安装的扩展在考虑了上述所有方面之后,我们提出了一些修复程序,可以帮助用户解决此问题。如果您遇到同样的问题,请查看本文中的解决方案。修复1

vue3中cookie如何使用vue3中cookie如何使用May 12, 2023 pm 02:19 PM

前言cookie使用最多的地方想必是保存用户的账号与密码,可以避免用户每次登录时都要重新输入1.vue中cookie的安装在终端中输入命令npminstallvue-cookies--save,即可安装cookies,安装之后在main.js文件中写下以下代码import{createApp}from'vue'importVueCookiesfrom'vue-cookies'constapp=createApp(App)app.co

如何在 Google Chrome 中启用或禁用第三方 Cookie如何在 Google Chrome 中启用或禁用第三方 CookieApr 15, 2023 pm 02:07 PM

每个网站都通过创建cookie使用户更容易浏览他们的网页和浏览他们的网站。然而,网站创建了一些第三方cookie,使他们能够跟踪访问其他网站的用户,以便更好地了解他们,从而有助于展示广告和其他帖子。一些用户可能认为他们的数据遭到破坏或存在安全风险,而另一些用户可能认为允许这些第三方cookie跟踪他们以在浏览器上获取更多内容是很好的。所以我们在这篇文章中解释了如何在谷歌浏览器中启用或禁用第三方cookies,详细步骤如下。如何在GoogleChrome中启用第三方Cookie如果您认为要

PHP8.0中的Cookie库PHP8.0中的Cookie库May 14, 2023 pm 04:51 PM

在互联网应用开发中,使用Cookie是常见的一种方式来维护用户会话状态。在PHP语言中,处理Cookie的相关功能在语言的核心库中得到了完善的支持,在最新的PHP8.0版本中,Cookie库得到了进一步的增强。一、PHP中的CookieCookie是一个小文本文件,可以存储在用户的浏览器中,它通常被用来记录用户的个性化设置、登录状态等信息。Cookie是基

php curl怎么设置cookiephp curl怎么设置cookieSep 26, 2021 am 09:27 AM

php curl设置cookie的方法:1、创建PHP示例文件;2、通过“curl_setopt”函数设置cURL传输选项;3、在CURL中传递cookie即可。

如何在ThinkPHP6中使用Cookie技术实现记住我功能如何在ThinkPHP6中使用Cookie技术实现记住我功能Jun 20, 2023 pm 03:33 PM

随着互联网技术的不断发展,越来越多的网站需要用户登录才能使用其功能。但是每次用户访问时都需要输入账号密码显然很不方便,因此“记住我”的功能应运而生。本文将介绍如何在ThinkPHP6中采用Cookie技术实现记住我功能。一、Cookie简介Cookie是一种服务器向客户端发送的小文件,在用户访问网站时存储在用户的计算机上。这些文件包含与用户相关的信息,如登录

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

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

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