位置: 编程技术 - 正文

详解PHP中cookie和session的区别及cookie和session用法小结(phpsession和cookie)

编辑:rootadmin

推荐整理分享详解PHP中cookie和session的区别及cookie和session用法小结(phpsession和cookie),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php设置cookie多种方法,php curl cookie,php中cookie和session的区别,php的cookies与sessions应用,php的cookies与sessions应用,php中的cookie,php中cookie的值存储在哪,php中的cookie,内容如对您有帮助,希望把文章链接给更多的朋友!

具体来说 cookie 是保存在“客户端”的,而session是保存在“服务端”的

cookie 是通过扩展http协议实现的

cookie 主要包括 :名字,值,过期时间,路径和域;

如果cookie不设置生命周期,则以浏览器关闭而关闭,这种cookie一般存储在内存而不是硬盘上.若设置了生命周期则相反,不随浏览器的关闭而消失,这些cookie仍然有效直到超过设定的过 期 时间。

session 一种类似散列表的形式保存信息,

当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了一个session标识

(称为session id),如果已包含则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来使用(检索不到,会新建一个),如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应中返回给客户端保存。保存这个session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给服务器。一般这个cookie的名字都是类似于SEEESIONID。但cookie可以被人为的禁止,则必须有其他机制以便在cookie被禁止时仍然能够把session id传递回服务器。

优缺点:

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

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

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

考虑到减轻服务器性能方面,应当使用COOKIE。

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

5、所以个人建议:

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

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

Session和Cookie的使用总结:

Session和cookie都是asp.Net中的内置对象,至于他们有什么区别,在这里就不在多说,现在来说说一些比较实用点的东西:

我们知道网站都有一个后台管理系统,其中有登录和退出两个功能,在登录的时候我们往往会把用户的信息保存到session或者cookie中,以便后面使用,那么在登录的时候我们要注意哪些呢?

1、把一些敏感的东西存到session中,不太敏感的东西可以存在session或者Cookie中,比如用户名就是不太敏感,但是介于有些浏览器不支持cookie的使用,所以我们会把它存到session中,但是session有的时候在服务器中容易丢失,所以我们可以结合cookie一起使用,就是说当session的丢失的时候,如果cookie还在我们设定的有效期内,就可以再一次从Cookie中取出值放进session里,所以我们最好同时用session和cookie保存用户名等信息或者在配置文件里

来解决session丢失的问题也可以

详解PHP中cookie和session的区别及cookie和session用法小结(phpsession和cookie)

2、我们希望后台管理在多长时间没有操作的情况下,让session失效,重新登录,可以使用session.timeout=5,以分钟为单位,表示5分钟之内没有其他操作,就失效,或者在配置文件中配置<sessionState timeout="5" mode="InProc" />也可以

3、cookie有效期的设置

httpCookie.Expires = DateTime.Now.AddMinutes(2);

cookie的有效期为2分钟

4、页面中判断是否有权限访问该网页的时候,可以如下判断:

下面在来说说退出的时候该怎么做比较好

1、 退出的时候session和Cookie的值都要清空,现在来简单说说session的几个方法的区别:

Session.clear():表示将会话中所有的session的键值都清空,但是session还是依然存在,同等于Session.RemoveAll()

Session[“admin”]=null:表示将制定的键的值清空,并释放掉,和session[“admin”]=””不一样,它清空了,但是session不释放,同等于session.Remove(“name”);

Session.Abandon()就是把当前Session对象删除了,下一次就是新的Session了。

主要的不同之处在于当使用Session.Abandon时,会调用Session_End方法(InProc模式下)。当下一个请求到来时将激发Session_Start方法。而Session.Clear只是清除Session中的所有数据并不会中止该

Session,因此也不会调用那些方法,Abandon方法用于主动结束会话,若没有调用该方法,当会话超时后,也会自动结束当前会话。

2、 下面在来看看如何清除cookie

A、tpCookie cookie = System.Web.HttpContext.Current.Request.Cookies.Get("tuser");

cookie.Expires = DateTime.Now.AddDays(-1);System.Web.HttpContext.Current.Response.Cookies.Add(cookie);

B、tpCookie httpCookie = Request.Cookies["httpCookie"];

httpCookie.Expires = DateTime.Now.AddDays(-1);Response.Cookies.Add(httpCookie);

AB两种方法都可以

3、 所以session清除当前的值就可以了即Session[“admin']=null就可以了,Cookie按照以上方法清除即可

建议和意见:

1、 在退出的时候我们可以在创建一个logout的页面来写时间,这样比较好一些

2、 无论在进行什么操作的时候,能用If判断是否为空的情况下就尽量的判断,防止出现了空指针异常

以上所述是小编给大家介绍的详解PHP中cookie和session的区别及cookie和session用法小结的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

yii2 modal弹窗之ActiveForm ajax表单异步验证 前面我们讲述了yii2中如何使用modal以及yii2gridview列表内更新操作如何使用modal的问题,本以为modal要告一段落可以开始新的话题了,但是实际问题往往超

PHP时间戳格式全部汇总 (获取时间、时间戳) PHP语言中的函数有许多种,各种应用方式不同,实现的功能也不尽相同。希望对新手的学习有所帮助!一,PHP时间戳函数获取指定日期的unix时间戳strtoti

PHP中header函数的用法及其注意事项详解 voidheader(string$string[,bool$replace=true[,int$http_response_code]]):SendarawHTTPheader下面有一些使用header的几种用法:1、使用header函数进行跳转页面;header('Location:'.$url

标签: phpsession和cookie

本文链接地址:https://www.jiuchutong.com/biancheng/295619.html 转载请保留说明!

上一篇:yii2中结合gridview如何使用modal弹窗实例代码详解(gridview怎么连接数据库)

下一篇:PHP时间戳格式全部汇总 (获取时间、时间戳)(php时间戳转换成时间)

  • 个体户银行开户是开公户还是私户
  • 安全生产费计提没用可以冲吗
  • 付款给对方未开具发票
  • 医药零售行业 利润构成
  • 小型微利企业如何计算所得税
  • 打车发票丢了怎么办
  • 企业盘活资产的方法有哪些
  • 个体工商户收到发票怎么做账
  • 长期借款转入实收资本
  • 供电局发票金额可以多开吗
  • 公司团建活动奖状模板
  • 雇主责任险税前列支
  • 事业单位没有经过公示的内部文件不生效 出处
  • 营改增后新开公司如何报地税?
  • 公司注销地税时其他应收款要缴纳个人所得税吗?
  • 开票码必须输入吗
  • 退税入其他收益需要再缴税吗
  • 支付的专家费怎么入账
  • 减少其他应付款冲费用做以前年度损益调整如何做分录
  • 政府性基金预算收入包括
  • 金蝶k3迷你版年度结账
  • 一般纳税人简易计税会计分录
  • 商业承兑汇票承兑人可以是银行吗
  • php数组函数有哪些
  • win101709密钥
  • schupd.exe - schupd是什么进程 有什么用
  • 核定征收怎么申报个人经营所得
  • PHP:pg_field_type_oid()的用法_PostgreSQL函数
  • 财务清算的作用
  • 罂粟的花季
  • php邮箱验证示例怎么写
  • php验证系统
  • 企业确认坏账损失领导如何回复
  • 2022最好用的港澳台电视直播
  • 销售退货和折让是收入吗?吗?
  • 什么情况可以行政拘留不予执行
  • 承税汇票个人能用吗
  • element-ui tree 异步树实现勾选自动展开、指定展开、指定勾选
  • python字符串如何换行
  • mongodb索引存储方式
  • 小微企业材料
  • 退税流程怎么操作个人所得税2022
  • 会计凭证大小写不一致
  • 什么是现金流量的概念?
  • 个税征税对象包括哪些
  • 土地承包经营权上的房屋
  • 出口退税账务处理难吗
  • 外埠存款会计分录怎么写
  • 冲回以前年度暂估入库
  • 跨年的个人所得税可以更正吗
  • 纳税人销售免税产品开具专票
  • 缴纳工会筹备金应该记什么科目
  • 以前年度损益调整属于哪类科目
  • 工程异地预缴的税款可以抵机构所在地的税金吗
  • 商业企业销售摩托车需不需要征收消费税
  • solaris教程
  • 迅速修复系统漏洞的方法
  • 电脑太慢了怎么解决
  • 系统用户在哪里
  • macos创建文件夹
  • 从哪里看windows是多少位的
  • windows xp的控制面板
  • 雨林木风 winxp sp3 安装版 ys8.0
  • ikeeperpab.exe是什么
  • win8怎么设置桌面
  • windos8怎么样
  • linux就该这么些
  • unity jsonutility
  • 不易引起无意注意的是
  • javascript编写函数
  • 从零开始学什么
  • shell中大括号
  • python找出n个数里最小的k个
  • javascript怎么用
  • js正则匹配数字
  • jquery的选择器有哪几种类型
  • jQuery ajax中使用confirm,确认是否删除的简单实例
  • 张家港建行上班时间安排
  • 初级会计职称可以挂靠吗
  • 继承房产过户后可以要求分割吗?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设