php中session与cookie的区别

session

session 存储于服务器中的全局数组 _SESSION 中,使用 session 之前,务必调用 session_start() 函数!

session可实现页面之间数据共享

启动会话

<?php

session_start();

$_SESSION['user'] = 'zhangsan';

?>

获取 session

<?php
    session_start();
    if (isset($_SESSION['user']))
    {
        echo "user: " . $_SESSION['user'];
    }
?>

删除会话

unset($_SESSION['key'])

$_SESSION = array()

结束当前会话

session_destory()

cookie 

存储于浏览器端,由浏览器每次向服务器发出请求时,放在 http 协议的头部,发给服务器。服务器设置 cookie ,本质是发送请求和参数给浏览器,最终还是由浏览器存盘。服务器设置 cookie 后,并不会马上生效,必须等到下次 客户端向服务器发出请求时,将 cookie 发给服务器!

创建cookie

对于 php ,设置 cookie 主要使用函数 setcookie(name, value, expire, path, domain);

name:作为键(必选)

value: 作为值(必选)

expire:过期时间,可以使用 time() 函数获取当前时间,在此基础上增加或者减少,单位:S

读取cookie

$_COOKIE[key]

删除cookie

setcookie(key,value,time()-1)

区别:

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

5、所以个人建议:

   将登陆信息等重要信息存放为SESSION

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

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值