> 백엔드 개발 > PHP 튜토리얼 > PHP의 쿠키 및 세션 사용에 대한 자세한 소개

PHP의 쿠키 및 세션 사용에 대한 자세한 소개

高洛峰
풀어 주다: 2023-03-06 20:30:02
원래의
1725명이 탐색했습니다.

우리는 웹사이트 전체에서 방문자의 활동을 추적하고 자동 또는 반자동으로 그들의 신원을 식별해야 하는 경우가 많습니다(즉, 웹사이트 로그인과 같이 자주 언급되는 기능). 이 때 당사는 쿠키와 세션을 자주 사용합니다. 추적 및 판단

1. 쿠키와 세션의 소개 및 차이점

많은 경우 웹사이트 전반에 걸쳐 방문자의 활동을 추적하고 자동 또는 반자동으로 신원을 식별해야 합니다. (즉, 우리가 흔히 이야기하는 웹사이트 로그인 등의 기능입니다.) 이때 우리는 추적하고 판단하기 위해 쿠키(Cookie)와 세션(Session)을 자주 사용합니다.

차이점

세션 정보는 서버측에 저장되지만, 세션 ID는 클라이언트 쿠키에 저장됩니다. 물론 PHP의 세션 저장 방식은 다양하므로 쿠키를 비활성화하더라도, 여전히 추적 가능

IE Firefox와 같은 쿠키는 클라이언트에 완전히 보관됩니다. 클라이언트가 쿠키를 비활성화하면 더 이상 쿠키 구성 및 응용 프로그램을 사용할 수 없습니다.

Setcookie(문자열 이름, 문자열 값, int 만료, 문자열 경로, 문자열 도메인, int secure)

여기서 name은 쿠키 변수 이름 식별자입니다. PHP에서 쿠키 변수를 참조하는 데 사용할 수 있습니다. 일반 변수 이름을 사용합니다. 값은 쿠키 변수의 초기 값이고, 만료는 쿠키 변수의 유효 시간을 나타내며, 도메인은 쿠키 변수의 웹사이트를 나타냅니다. 보안은 https가 안전하게 전송되는 경우에만 유효합니다.


SetCookie("Cookie","cookievalue",time()+3600, "/forum",".php100.com", 1);

쿠키 수신 및 처리

쿠키용 PHP 수신 및 처리 지원이 매우 우수하고 완전 자동입니다. FORM 변수의 원리와 동일하며 매우 간단합니다.
예를 들어 MyCookier라는 쿠키를 설정하면 PHP는 웹 서버에서 수신한 HTTP 헤더에서 이를 자동으로 분석하여 $myCookie라는 일반 변수와 같은 변수를 형성합니다. . 배열에도 동일하게 적용됩니다. 또 다른 방법은 PHP의 전역 변수 $HTTP_COOKIE_VARS 배열을 참조하는 것입니다.
예는 다음과 같습니다: (이전 페이지에서 설정되었으며 여전히 유효하다고 가정)

echo $MyCookie;

echo $CookieArray[0];

echo $_COOKIE [" MyCookie"];
echo $HTTP_COOKIE_VARS["MyCookie"];
쿠키 삭제

기존 쿠키를 삭제하려면 다음 두 가지 방법이 있습니다.

1. SetCookie("Cookie ","");

2. SetCookie("Cookie", "value" ,time()-1 / time() );


쿠키 사용 제한사항

1. HTML 파일의 내용이 출력되기 전에 설정해야 합니다.

2. 브라우저마다 쿠키를 일관되지 않게 처리하므로 때로는 잘못된 결과가 발생할 수 있습니다.

3. 제한 사항은 클라이언트 측에 있습니다. 브라우저에서 생성할 수 있는 최대 쿠키 수는 30개이며, 각 웹 사이트에서 설정할 수 있는 총 쿠키 수는 20개를 초과할 수 없습니다.

3. 세션 구성 및 적용

코드 복사

session_start(); Seeeion

echo $_SESSION[name]; //세션 사용
isset($_SESSION[name]) // 판사
unset($_SESSION[name] ]) //삭제
session_destroy (); //모든 세션 소비

참고: session_register(), session_unregister, session_is_registered는 php5에서 더 이상 사용되지 않습니다

쿠키 사용 예

if($_GET[' out'])

{ //쿠키를 로그아웃하는 데 사용됩니다

setcookie('id',"");

setcookie('pass',"")
echo "<script> location.href='login.php'</script>";//쿠키는 제때에 적용되지 않고 다시 새로 고칠 때만 적용되므로 로그아웃한 후 페이지가 자동으로 새로 고쳐지도록 하세요.
}

if($_POST['name']&&$_POST['password']) //사용자 이름과 비밀번호 변수가 존재하는 경우 아래에 쿠키를 설정합니다
{ //쿠키를 설정하는 데 사용됩니다
setcookie( ' id',$_POST['name'],time()+3600);
setcookie('pass',$_POST['password'],time()+3600);
echo"< script> ;location.href='login.php'"; //쿠키가 시간 내에 적용되도록 합니다
}
if($_COOKIE['id']&&$_COOKIE['pass'])
{ //쿠키 설정 성공 후 쿠키 표시에 사용
echo "로그인 성공!
사용자 이름: ".$_COOKIE['id']."
비밀번호 : ".$_COOKIE['pass'];
echo "
";
echo "쿠키 로그아웃 "; //큰따옴표 안에 따옴표가 더 있을 경우 작은따옴표가 필요합니다.
}

?>


사용자 ID:



비밀번호:




세션 사용 예

<?php
//session用法实例
session_start();//启动session,必须放在第一句,否则会出错。
if($_GET[&#39;out&#39;])
{
     
    unset($_SESSION[&#39;id&#39;]);
    unset($_SESSION[&#39;pass&#39;]);
}
if($_POST[&#39;name&#39;]&&$_POST[&#39;password&#39;])
{   
   //用于设置session
    $_SESSION[&#39;id&#39;]=$_POST[&#39;name&#39;];
    $_SESSION[&#39;pass&#39;]=$_POST[&#39;password&#39;];
}
if($_SESSION[&#39;id&#39;]&&$_SESSION[&#39;pass&#39;])
{
    echo "登录成功!<br/>用户ID:".$_SESSION[&#39;id&#39;]."<br />用户密码:".$_SESSION[&#39;pass&#39;];
    echo "<br />";
    echo "<a href=&#39;login.php?out=out&#39;>注销session</a>";
}

?>
로그인 후 복사


사용자 ID:



비밀번호:





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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿