PHP之Session与Cookie区别及phpsessid获取
未知
2023-08-23 16:58:26
0

存放位置


Cookie本身是在浏览器端存放的;   Session本身是在服务器端存放的。

安全性

一般不要用 Cookie 保存数据集或其他大量的数据。并非所有的浏览器都支持 Cookie,并且数据信息是以明文文本的形式保存在客户端计算机中,因此最好不要保存敏感的、未加密的数据,否则会影响网络的安全性。
cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session

应用场景


使用 Cookie 能够达到多种目的,所有这些目的都是为了使 Web 站点记住您。例如,一个实施民意测验的站点可以简单地利用 Cookie 作为布尔值,表示您的浏览器是否已经参与了投票,从而避免您重复投票; 而那些要求用户登录的站点则可以通过 Cookie 来确定您是否已经登录过,这样您就不必每次都输入凭据。
Cookie 能够帮助 Web 站点保存有关访问者的信息
cookies适合做保存用户的个人设置、爱好等。记录访客的某些信息。如可以利用 Cookie 记录用户访问网页的次数,或者记录方可曾经输入过的信息。另外,某些网站可以使用 Cookie 自动记录访客上次登录的用户名。
Session适合做客户的身份验证。比如用户名密码、会员ID等等

过期设定

web应用程序可以在操作时,由服务器端代码生成一个Cookie信息保存在客户端的浏览器中,生成一个很小的文件,此时的文件存在RAM运行内存中,如果用户关闭浏览器就会自动删除Cookie信息;
如果程序生成一个带有时间设定的cookie,那么cookie文件将存在物理内存中,下次访问同一个web应用时,在设置时间范围内,web应用仍能获取到cookie信息。

session是放在服务器上的,过期与否取决于服务器的设定,

cookie是存在客户端的,过期与否可以在cookie生成的时候设置进去。

数量和大小限制

Cookie存储的数据在不同的浏览器会有不同的限制,一般在同一个域名下,Cookie变量数量控制在20个以内,每个cookie值的大小控制在4kb以内。
session值没有大小和数量限制,但如果数量过多,会增大服务器的压力。

内容区别

cookie保存的内容是字符串,而服务器中的session保存的数据是对象。

获取浏览器上的phpsessid

$config = Config::get('session');
      Session::init($config);
      $session_id = session_id();
dump($session_id)

GC的工作

默认情况下,session.gc_probability = 1,session.gc_divisor =100,也就是说有1%的可能性会启动GC。GC的工作,就是扫描所有的session信息,用当前时间减去session的最后修改时间(modified date),同session.gc_maxlifetime参数进行比较,如果生存时间已经超过gc_maxlifetime,就把该session删除。

相关内容

掌握 PHP sg15:核...
本文介绍了PHP sg15的核心技术,包括面向对象编程、命名空间、...
2026-02-12 01:23:35
PHP sg15 实战教程...
PHP SG15实战教程:从基础到高级,学习PHP语言安全协议与技...
2026-02-11 01:23:35
探索 PHP sg15 在...
摘要: 本文探讨了PHP的sg15项目在Web开发中的应用,包括...
2026-02-11 01:23:34
PHP sg15 与数据库...
本文介绍了使用PHP与数据库交互的方法,特别是使用sg15框架或库...
2026-02-10 01:23:38
PHP sg15 框架集成...
本文详细介绍了如何将sg15框架集成到PHP项目中,包括准备工作、...
2026-02-10 01:23:36
PHP与YAML集成:实现...
本文介绍了PHP与YAML集成的实现方式,包括读取和写入YAML文...
2026-02-03 01:23:45

热门资讯

object json转化为数... //调用api 程序,通知商户订单异常 20200314 public function callt...
tp5 composer we... 问题: 正常使用中的tp5程序需要安装微信支付v3。 tp5使用cmd面板composer requ...
laravel 对接支付宝当面... 第一步 开发中心网页移动应用下支付接入 第二步 创建应用后需添加可支付的方式 第三步 配置公钥与私钥...
tp5 jquery判断手机端... application--common.php中添加如下代码 //函数作用是判断用户打开的是手机端还...
Laravel 查看SQL操作... 方法一:临时打印操作记录 DB::connection()-enableQueryLog(); # ...
php 打印date函数出现错... 问题描述: 我使用的是phpstudy,在练习时间函数的时候,打印出现在的时间,date(Y-m-d...
Laravel 5.5 .No... 创建了新的laravel项目后, 运行提示:No application encryption ke...
php函数substr_rep... php函数substr_replace从某个位置替换或删除或插入字符串
生成随机字符唯一标识符guid... /** * @param $length * @return string * 生成随机字符串 */...
layui缩略图 div class=layui-form-item label class=layui-form-l...