session和cookie

会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是cookie与session。

那么cookie与session之间有什么区别呢?

session可实现页面之间数据共享( 以文件方式存在)。

启动会话:session_start()      启动后,生成session_id,随机串(唯一),此随机串会返回,然后存在在客户端,也是已cookie存在,如果禁用的话,将不能使用。

存入会话:$_SESSION['key'] = $value

读取会话:$value = $_SESSION['key']

删除会话:

1.unset($_SESSION['key'])

2.$_SESSION = array() 置为空数组

结束会话:session_destory()

<?php

//启动会话
session_start();

//存入会话
$_SESSION['user'] = $user;

//读取会话
echo $_SESSION['user'];

//删除会话
// unset($_SESSION['user']);
$_SESSION = array();

//结束会话
session_destory();

?>

需要注意事的是:在执行一系列的操作之前一定要先启动会话。

我们用到会话的主要作用是用于身份识别。

session有生命周期,生命周期就是说在规定时间不访问该页面,其中的规定时间就为生命周期,服务器会把长时间没有活动的Session从服务器内存中清除,此时Session便失效。Session的默认失效时间为20分钟,可以在php.ini中设置。

cookie是储存在用户本地终端上的数据 ,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。

cookie可保留用户登录的信息,因为它是通过客户端记录信息确定用户的身份的(前提是不关闭浏览器),虽然可以方便一些,但是不安全。

创建cookie:setcookie

<?php

setcookie('name',$name);

setcookie('user',$user,time()+100);

?>

其中第一个参数为分键,第二个参数为值,第三个参数为可选参数,表示过期时间,即生命周期,不写的话,当浏览器关闭时则消失。

读取cookie:$_COOKIE['key']

删除cookie:setcookie(key,value,time()-1)

不同的浏览器有不同的cookie,不可共享。

session和cookie的区别:

1.cookie通过在客户端(client)记录信息确定用户身份,而session是通过在服务器(server)端记录信息确定用户身份。

2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗。

3.session会在一定时间内保存在服务器上,当访问增多,会比较占用你服务器的性能。

4.单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie,当超过时,会自动清除一部分cookie。

综上所述:

将登陆信息等重要信息存放到SESSION。

其他信息如果需要保留,可以放在COOKIE中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值