位置: 编程技术 - 正文

CodeIgniter配置之SESSION用法实例分析(codevein配置要求)

编辑:rootadmin

推荐整理分享CodeIgniter配置之SESSION用法实例分析(codevein配置要求),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:codeigniter3中文手册,code editing,code insider,codeigniter3中文手册,codeignitor,codeigniter 教程,codeignitor,codeigniter 教程,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了CodeIgniter配置之SESSION用法。分享给大家供大家参考,具体如下:

刚使用Codeigniter时也被其中的SESSION迷惑过,后来就再也没用过CI自带的SESSION,想必还是有必要整理一下SESSION。为弄清CI中的SESSION,先来说一下PHP中SESSION是如何工作的。由于HTTP协议本身是无状态的,所以当保留某个用户的访问状态信息时,需要客户端有一个唯一标识传给服务端,这个唯一标识就是SESSION ID,存放在客户端的COOKIE中,然后服务端根据该标识读取存放的用户状态信息,达到保存会话状态的目的。PHP中启动一个会话需要执行下面语句:

1、客户端每次请求时会有一些信息存放中HTTP头中发送给服务端,以用户第一次访问为例:

2、服务端接到请求处理后并返回给客户端,并在HTTP Response中加上添加COOKIE的请求,告诉浏览器需要设置一个COOKIE,COOKIE名为PHPSESSID,值为rk5n4scgd4bahuuhmq7,如:

3、当客户端再次访问该网站的页面时,浏览器会将该COOKIE发送给服务端,服务端根据COOKIE的值去读取服务器上存放SESSION的文件,拿到到会话信息,如:

从而达到保存会话状态的目的。但也需要注意,如果获取到用户A登录的SESSION ID会怎么样?根据上面的逻辑,如果在请求过程中把获取到的SESSION ID一并发送给服务端,服务端根据SESSION ID读取文件,发现文件内容存在,从而判定用户为A用户,也就是获取到了A用户的用户状态,从而可能可以进行一些敏感操作。所以在会话有效期内,获取到了SESSION ID即获取到了用户的授权,这是比较危险的,以本地的一个管理系统为例,通过chrome登录后查看到客户端COOKIE如下图:

假如如果通过某种手段获取到了SESSION ID, 可以模拟发送一个相同的COOKIE过去即可实现登录。FireFox中可添加COOKIE,打开Firebug后Cookies中新建cookie,确定之后刷新页面即可登录到管理系统,如下图:

CodeIgniter配置之SESSION用法实例分析(codevein配置要求)

通常情况下可通过js获取到cookie,所以需要注意转义,防止数据展示时被执行了。接下来看看CI中的SESSION。在配置文件中有几个跟Session配置相关的参数,影响到Session的使用,它们是:

CI自带的SESSION没有服务端文件存储,所有的信息都存放在客户端COOKIE中,当调用$this->load->library('session');时会启动一个会话,即设置一个COOKIE,COOKIE的内容如下:

当客户端请求时会将这些信息在HTTP头中传输给服务端,服务端从HTTP头中读取到SESSION信息。同样的可以实现会话,但该方式有很多的不确定因素,根据源码说几点吧:

1、如果日志文件中出现:The session cookie data did not match what was expected. This could be a possible hacking attempt.说明两个问题:a.sess_encrypt_cookie为false,SESSION在COOKIE中未加密存放 b.读取到COOKIE后,校验失败。涉及到加解密、参数处理的情况,容易出现匹配不通过的情况,若不通过则清空SESSION。

2、如果sess_match_ip为true,当客户端IP变化时,SESSION将校验不通过,从而清空SESSION。

3、sess_match_useragent默认为true,当客户端UserAgent变化时,校验不通过,清空SESION。简单的例子,通过IE浏览器访问,若切换到不同的IE模式,Agent不同,所以校验不通过,清空SESSION。

可以看到,当出现上面任何一种情况时,SESSION都会清空,出现登录不成功或者跳转到登录页面的情况。如果说不加密、不校验IP、UserAgent呢?因为COOKIE是存放在客户端,需要伴随HTTP请求发给服务端,一来过多的COOKIE会影响速度,对一些图片等资源来说完全时浪费带宽;二来COOKIE只能存储4K的数据,加密处理后能存放的更小。

种种的不确定因素将产生各种奇怪的问题,避免过多的纠结,果断改用其他方式吧。

更多关于CodeIgniter框架相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

PHP实现微信网页授权开发教程 微信网页授权是服务号才有的高级功能,开发者可以通过授权后获取用户的基本信息;在此之前,想要获取消息信息只能在用户和公众号交互时根据openi

CodeIgniter读写分离实现方法详解 本文实例讲述了CodeIgniter读写分离实现方法。分享给大家供大家参考,具体如下:当前服务器只做了主从,未配置读写分离,读写分离的功能就只有交给

CodeIgniter视图使用注意事项 本文讲述了CodeIgniter视图使用注意事项。分享给大家供大家参考,具体如下:CI中视图即application/views/下的模版文件,模版中支持直接使用PHP,所以模版

标签: codevein配置要求

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

上一篇:CodeIgniter配置之routes.php用法实例分析(codeigniter3中文手册)

下一篇:PHP实现微信网页授权开发教程(php实现微信网页聊天功能)

  • 应纳税额减征额包括哪些内容
  • 注销账务处理如何做
  • 对母公司的其他说法
  • 对外支付代扣代缴增值税
  • 人力资源公司代招的岗位可以去吗
  • 工会经费返还怎么使用
  • 开发票商品类别与商品明细的区别
  • 委托加工什么时候代收代缴消费税
  • 专用存款账户需要备案吗
  • 从国外购进样品要交税吗
  • 汇票本票的区别
  • 采购发票几个点的税
  • 进项票不足
  • 机打发票丢失如何处理报销
  • 污泥处置费用怎么开票
  • 外贸企业购进货物出口后,应退消费税应当贷记
  • 红字发票打印乱码怎么办
  • 一般纳税人开劳务费税率是多少2023
  • 免征增值税还要做销项税吗
  • 个人所得税违约怎么查询
  • 金融服务利息税率是多少
  • 公司财产损失会不会必然导致股权损失
  • 汇算清缴补交所得税后报表需要调整吗
  • 保险费做什么会计分录
  • 设计费要计入固定费用吗
  • 机票行程单可以报销用吗
  • PHP:xml_get_error_code()的用法_XML解析器函数
  • 什么叫php
  • rtlrack.exe - rtlrack是什么进程 有什么用
  • 应收票据计提利息应做的会计分录是
  • 货物退回的会计处理
  • PHP:imagecreatefromwebp()的用法_GD库图像处理函数
  • top命令可以看到哪些信息
  • 委托证券公司发行股票的手续费计入什么科目
  • 金融资产减值损益怎么算
  • thinkphp ide
  • qiankun跨域问题
  • vue element ui
  • github ci/cd
  • node实战
  • geth命令行
  • 税控服务费在电子税务局表一里怎么填写
  • 临时工工资无发票可以扣除吗
  • 年底应交增值税销项税额要结平吗
  • 织梦怎么建站
  • 工业企业提供劳务
  • 科目余额表该怎么填
  • mysql的日期时间函数
  • 固定资产直接进费用表示表示一次性计提折旧
  • 核电站弃置费用通常多少钱
  • 金融企业有啥
  • 固定资产出售通过什么科目
  • 事业单位会计怎么做
  • 纳税期限与申报期限的区别
  • 去年所得税汇算清缴报表填错了今年可以改吗
  • 加油充值卡有优惠吗
  • 增值税申报销项数据怎么自动带出来
  • 任何单位和个人都应当()为报警
  • 实收资本怎么确认入账
  • 定额发票累计领取怎么算
  • 账簿按形式分几种
  • sqlserver附加数据库时出错,请单击消息中的超链接
  • win8系统笔记本怎么恢复出厂设置
  • linux的用户
  • winxp系统连接网络
  • win10系统无法更改
  • xp系统怎么禁止软件联网
  • spoolsrv.exe - spoolsrv是什么进程 有什么作用
  • windows8连接wifi
  • win8系统教程
  • nodejs阿里云
  • node·js
  • ftp上传网站的步骤
  • android list
  • python跑出异常
  • 《简单》阅读答案
  • android圆环进度条渐变
  • 广东省电子税务局官网登录入口
  • csc联合培养博士资助标准
  • 税务备案表付汇日期是否可以提前
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设