PHP中SESSION的注销与清除

yipeiwu_com7年前PHP代码库

1、每个页面都必须开启session_start()后才能在每个页面里面使用session。

2、session_start()初始化session,第一次访问会生成一个唯一会话ID保存在客户端(是基于cookie保存的),用户下次访问时,session_start()会检查有没有会话ID,如果有浏览器会带着这个会话ID过来(通过发送头文件传过来的,这个可以用ff浏览器看到)来确定客户端。

3、给于cookie的session会在客户端保存一个会话ID即session_id,这个可以通过打印cookie看到,这个session_id的键值为session_name,
session_id() == $_COOKIE[session_name()]

4、如果客户端禁用了cookie,则必须用url传递session_id即给予URL的SESSION

5、注销SESSION时不能用unset($_SESSION),可以使用$_SESSION = array()或则$_SESSION = null,正确注销session的方法如下:

//正确的注销session方法:
//1开启session
session_start();
 
//2、清空session信息
$_SESSION = array();
 
//3、清楚客户端sessionid
if(isset($_COOKIE[session_name()]))
{
  setCookie(session_name(),'',time()-3600,'/');
}
//4、彻底销毁session
session_destroy();

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

php使用curl实现简单模拟提交表单功能

php使用curl实现简单模拟提交表单功能

php 使用curl 进行简单模拟提交表单,供大家参考,具体内容如下 //初始化curl $ch = curl_init(); $url = 'xxx'; $option = [...

ThinkPHP 防止表单重复提交的方法

ThinkPHP 防止表单重复提交的方法

然而有一种情况,是防止不了的: 用户提交表单以后,点击浏览器后退按钮返回表单页面,这个时候浏览器会直接从缓存中取出页面,因此token验证一定是通不过的。 网上有许多种办法可以绕过这个...

PHP中遇到BOM、<feff>编码导致json_decode函数无法解析问题

昨天同事遇到一个奇怪的问题,就是以下代码,无法通过JSON校验,也无法通过PHP的json_decode函数解析。 复制代码 代码如下: [     { &...

基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能

基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能

思路: 1.首先,页面前端,上传附件,提交给后台,并带一个随机性的参数(可以用时间戳); 2.后端接收附件,做一系列的逻辑处理,无误后,将对应的文件存储在上传的目录下; 3.然后前端,上...

php中如何同时使用session和cookie来保存用户登录信息

php中如何同时使用session和cookie来保存用户登录信息

同时使用session和cookie来保存用户登录信息1、数据库连接配置页面:connectvars.php复制代码 代码如下:<?php//数据库的位置define('DB_HO...