• 售前

  • 售后

热门帖子
入门百科

php中cookie与session的区别点总结

[复制链接]
紫罗兰的叶栏 显示全部楼层 发表于 2022-1-9 08:30:07 |阅读模式 打印 上一主题 下一主题
本教程利用情况:windows7体系、PHP7.1版、DELL G3电脑
无论是在体系运维还是 PHP 开发职员的口试中,经常会被问到 Session 和 Cookie 在 PHP 中的区别?下面我们就来总结一下:
Cookie 仅由客户端天生、管理并使用,PHP 只是发出指令要求客户端怎样天生 Cookie、何时逾期等,但是客户端不肯定会按照 PHP 的指令办事。
Cookie 不是很安全,非法分子可以通过分析本地的 Cookie 举行 Cookie 诱骗。思量到安全题目,发起将用户的重要信息存放在 Session 中,别的不重要但需要保存的信息可以存放在 Cookie 中。
Session 是用户进入某个网站到关闭欣赏器这段时间的会话,默认以文件情势存在服务器磁盘中,所以设置过多的 Session 会影响磁盘的性能,也可以用 Memory 引擎存入 MySQL,由于内存引擎读写速率快,现在也可以指定用 Redis 来处置惩罚 Session,如许更快,服从更高。
Session 的收回机制是被动的,一般来说,一旦关闭欣赏器 Session 也就被 PHP 自动接纳了,但偶尔即使设置了逾期时间而且关闭欣赏器也不肯定会删除 Session,好比设置多目次多层级生存 Session 时,这时需要通过 PHP 脚本手动删除 Session。
通常 Cookie 与 Session 是绑定的,即用户在没有禁用 Cookie 时,Cookie 一般会生存 Session ID 及 Session 生存周期,如果用户删除 Cookie 一般会退出体系;如果没有禁用 Cookie 关闭欣赏器 Session 也会立即失效,要重新登录体系。
Cookie 与 Session 一般应于标识用户、权限认证、存储简朴数据、尚有就是使用 Cookie 实现单点登录。
Cookie 存储的数据在差别的欣赏器会有差别的限定,一般在同一个域名下,Cookie 变量数量控制在 20 个以内,每个 Cookie 的值大小控制在 4kb 以内。Session 值没有大小和数量限定,但如果数量过多,会增大服务器的压力。别的,Cookie 生存的内容是字符串,而 Session 生存的数据是对象。
Session 不能区分路径,同一个用户在访问一个网站期间,所有的 Session 在任何一个地方都可以访问到;而 Cookie 中如果设置了路径参数,那么同一个网站中差别路径下的 Cookie 是不能互相访问的。
COOKIE和SESSION的区别

(1)存储位置:Cookie存储在客户端欣赏器中,相对不安全;Session内容地点文件存储在服务器中,一般在根目次下的tmp文件夹中,相对更安全。
(2)数量和大小限定:Cookie存储的数据在差别的欣赏器会有差别的限定,一般在同一个域名下,Cookie变量数量控制在20个以内,每个cookie值的大小控制在4kb以内。session值没有大小和数量限定,但如果数量过多,会增大服务器的压力。
(3)内容区别:cookie生存的内容是字符串,而服务器中的session生存的数据是对象。
(4)路径区别:session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到;而cookie中如果设置了路径参数,那么同一个网站中差别路径下的cookie互相是访问不到的。
内容扩展:
1、存放的位置
cookie生存在客户端,session生存在服务器端的文件体系/数据库/memcache等。
2、安全性
session由于生存有服务器端,安全性无疑更高一些。
3、网络传输量
cookie通过网络在客户端与服务器端传输,会占用一些带宽;而session生存在服务器端,不需要传输。
4、生存时间(生命周期),以20分钟为例
cookie的生命周期是累计的,从创建时就开始盘算,20分钟后生命周期就竣事,即cookie无效;
session的生命周期是隔断的。从创建时开始计时,如果20分钟内,没有访问过session,那么session会在20分钟时失效。而如果在20分钟内的任一时间访问过session,那么,session的生命周期将重新开始盘算。
5、session和cookie的生效路径
cookie在默认情况下,cookie只在当前文件的目次下生效,一般需要设置setcookie的第四个参数为根目次,使得整个网站地点页面都生效;session默认情况下是根目次下生效(可以通过查看cookie的PHPSESSID信息知道,大概通过php.ini文件里的session.cookie_path来设置)。
到此这篇关于php中cookie与session的区别点总结的文章就介绍到这了,更多相干php中cookie与session有什么区别内容请搜索草根技能分享以前的文章或继续欣赏下面的相干文章盼望各人以后多多支持草根技能分享!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作