1>쿠키 소개
쿠키는 클라이언트 브라우저에 저장되는 데이터로, 쿠키를 통해 사용자 데이터를 추적하고 저장할 수 있습니다. 일반적으로 쿠키는 HTTP 헤더를 통해 서버에서 클라이언트로 반환됩니다. 대부분의 웹 프로그램은 쿠키가 HTTP 헤더에 존재하기 때문에 쿠키 작동을 지원합니다.
_COOKIE['key'] 형식으로 자동으로 저장합니다.
PHP에서 쿠키는 setcookie 함수를 통해 설정됩니다. 브라우저에서 다시 전송된 모든 쿠키에 대해 PHP는 특정 쿠키 값을 읽기 위해 이를
세션을 사용할 때 일반적으로 쿠키는 사용자를 식별하기 위해 세션 ID를 저장하는 데 사용됩니다. 쿠키에는 유효 기간이 만료되면 클라이언트에서 자동으로 삭제됩니다.
2>Set cookie
setcookie()
의미: 쿠키를 설정하는 데 사용됩니다. setcookie() 함수에는 7개의 매개변수가 있습니다(일반적으로 사용되는 매개변수는 5개입니다).
구문: setcookie(이름, 값, 만료, 경로, 도메인, 보안, httponly)
반환 값: 이 함수를 호출하기 전에 출력이 있으면 setcookie()는 실패하고 FALSE를 반환합니다. setcookie()가 성공적으로 실행되면 TRUE를 반환합니다. 이는 사용자가 쿠키를 허용하는지 여부를 나타내지는 않습니다.
매개변수:
value, time()+3600, "path/", "baidu.com"에 상대적) //경로 및 도메인 설정
이름:
$_COOKIE['name']을 통해 액세스되는 쿠키의 이름입니다.
값:
쿠키 값
만료:
쿠키가 만료되는 시간입니다. 이것은 초 단위의 Unix 타임스탬프입니다. time() 함수와 만료되기 전에 원하는 초 수를 사용하여 설정할 수 있습니다. 아니면 mktime()을 사용할 수도 있습니다. 0으로 설정하거나 생략하면 세션이 끝날 때(브라우저가 닫힐 때) 쿠키가 만료되며 기본값은 0입니다.
경로:
(유효한 경로) 경로가 '/'로 설정되면 전체 웹사이트가 유효해지고, '/foo/'로 설정되면 쿠키는 /foo/ 디렉터리 및 /foo/bar/와 같은 모든 하위 디렉터리에만 있게 됩니다. 사용 가능한 도메인.
도메인:
(쿠키가 사용 가능한 도메인) 기본적으로 전체 도메인 이름에 대해 유효합니다. 전체 도메인(모든 하위 도메인 포함)에서 쿠키를 사용할 수 있게 하려면 해당 값을 도메인 이름으로 설정하면 됩니다(이 경우 'example.com').
보안:
이 쿠키는 클라이언트의 보안 HTTPS 연결을 통해서만 전송될 수 있음을 나타냅니다. TRUE로 설정하면 보안 연결이 존재하는 경우에만 쿠키가 설정됩니다. 서버 측에서 프로그래머는 보안 연결에서만 이러한 종류의 쿠키를 보낼 수 있습니다(예:
3>쿠키 삭제 및 만료 시간
PHP에는 쿠키를 삭제하는 기능이 없습니다. 대신, 쿠키의 만료 시간을 현재 시간 이전으로 설정하면 쿠키가 자동으로 만료되어 삭제됩니다.
4> 쿠키가 비어 있는지 확인
isset()
의미: 특정 쿠키가 존재하는지 확인합니다.
구문: isset(해당 쿠키 속성);
반환 값: true/false
setcookie("name","SYN");if( isset( $_COOKIE["name"])){ echo $_COOKIE["name"]; }else{ echo "不存在"; }
cookie:
1. 클라이언트에 데이터를 저장하고 사용자와 서버 간의 연결을 설정하면 일반적으로 많은 문제를 해결할 수 있지만 쿠키에는 여전히 몇 가지 제한 사항이 있습니다.
2. 쿠키는 상대적으로 보안이 취약하고 쉽게 도난당할 수 있어 쿠키 사기로 이어질 수 있습니다
3. 단일 쿠키의 가치는 최대 4k까지만 저장할 수 있습니다
4. 각 요청에는 네트워크 전송이 필요하며 대역폭을 차지합니다session:
1. 크기 제한 없이 사용자의 세션 데이터를 서버에 저장합니다.
2. 사용자 식별은 session_id를 통해 이루어집니다. 기본적으로 PHP 세션 ID는 쿠키를 통해 저장됩니다
//开始使用sessionsession_start();//设置一个session$_SESSION['test'] = time();//显示当前的session_idecho "session_id:".session_id();echo "<br>";//读取session值echo $_SESSION['test'];//销毁一个sessionunset($_SESSION['test']);echo "<br>"; var_dump($_SESSION);
1>세션 사용
먼저 session_start 메소드를 실행하여 세션을 연 후 사용하세요. 전역 변수 $ _SESSION은 세션을 읽고 씁니다. 기본적으로 세션은 파일 형태로 서버에 저장되므로, 페이지에서 세션이 열리면 해당 세션 파일이 독점적으로 점유됩니다. 이로 인해 현재 사용자의 다른 동시 액세스가 실행될 수 없게 됩니다. 기다리다. 이 문제는 캐시나 데이터베이스 저장소를 사용하여 해결할 수 있습니다.
세션은 설정할 값을 자동으로 인코딩 및 디코딩하므로 세션은 데이터 및 개체를 포함한 모든 데이터 유형을 지원할 수 있습니다.
session_start();$_SESSION['ary'] = array('name' => 'jobs');$_SESSION['obj'] = new stdClass(); var_dump($_SESSION);
2>세션 삭제 및 파괴
unset()
PHP에서는 특정 세션 값을 삭제하려면 unset 함수를 사용합니다. 삭제 후에는 전역 변수 $_SESSION에서 제거되어 접근할 수 없습니다.
session_start();$_SESSION['name'] = 'jobs';unset($_SESSION['name']);echo $_SESSION['name']; //提示name不存在
session_destroy()
session_destroy 함수는 모든 데이터를 삭제하지만 session_id는 여전히 존재합니다.
session_start();$_SESSION['name'] = 'jobs';$_SESSION['time'] = time(); session_destroy();
특별 주의:
_SESSION이 비어 있을 때까지 즉시 삭제하지 않으므로 $_SESSION을 즉시 삭제해야 하는 경우 unset()을 사용할 수 있습니다.
session_destroy()는 전역 변수
3>세션을 사용하여 사용자의 로그인 정보 저장
登录信息既可以存储在sessioin中,也可以存储在cookie中,他们之间的差别在于session可以方便的存取多种数据类型,而cookie只支持字符串类型,同时对于一些安全性比较高的数据,cookie需要进行格式化与加密存储,而session存储在服务端则安全性较高。
<?phpsession_start();//假设用户登录成功获得了以下用户数据$userinfo = array( 'uid' => 1011, 'name' => 'spark', 'email' => '1637167XX@qq.com', 'sex' => 'F'); header("content-type:text/html; charset=utf-8");/* 将用户信息保存到session中 */$_SESSION['uid'] = $userinfo['uid'];$_SESSION['name'] = $userinfo['name'];$_SESSION['userinfo'] = $userinfo;//* 将用户数据保存到cookie中的一个简单方法 */$str =serialize($userinfo); //将用户信息序列化setcookie('userinfo', $str);
了解更多关于序列化serialize;
相关推荐:
위 내용은 PHP 세션 제어 세션 및 쿠키 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!