web应用中,出于安全性考虑,有时会要求用户成功登录系统后重置会话id,即phpsessionid。php自4.3.3版本针对该需求提供了函数:

class="type">bool session_regenerate_id ([ bool $delete_old_session= false ] )

?

1、如果指定参数monospace; line-height: 1.5;">$delete_old_session为false,或不指定参数:

1.1、该函数会重置当前会话的phpsessionid

1.2、会话session里面的数据不会发生变化,跟原session一样。

1.3、会新生成一个session存储文件。

1.4、原session存储文件不会即时删除。

?

2、如果指定参数$delete_old_session为true:

1.1、该函数会重置当前会话的phpsessionid

1.2、会话session里面的数据不会发生变化,跟原session一样。

1.3、会新生成一个session存储文件。

1.4、原session存储文件会立即被删除。

?

实验:

测试代码:

echo 'sessionid-1='.session_id();

echo '
';

$_SESSION['verify']='huangqiqing';

print_r($_SESSION);

session_regenerate_id();

echo '
';

echo 'sessionid-2='.session_id();

echo '
';

print_r($_SESSION);

session_regenerate_id(true);

echo '
';

echo 'sessionid-3='.session_id();

echo '
';

print_r($_SESSION);

?

输出结果:

sessionid-1=ril9qqdsnt2bse0jkdbsfjgh13

Array ( [verify] => huangqiqing )

sessionid-2=7p1adu6tpcsnpb8e2srtrta224

Array ( [verify] => huangqiqing )

sessionid-3=189h571ku43feeced966evdt91

Array ( [verify] => huangqiqing )

?

客户端cookie查看:

?

session存储文件查看:

?只有结尾是91和13的session存储文件,224结尾的存储文件被删除了。

?

from:?http://huangqiqing123.iteye.com/

?

大小: 10.1 KB

大小: 3.7 KB

查看图片附件

php 重写sessionid,PHP 重置 phpsessionid相关推荐

  1. shiro+springboot自定义sessionId

    在shiro中,默认返回的sessionId是uuid或者是random随机的,我们可能需要根据我们的需求进行重写,需要重写sessionId我们只需要写一个类实现SessionIdGenerator ...

  2. WEB漏洞-逻辑越权之登录脆弱及支付修改

    WEB漏洞-逻辑越权之登录脆弱及支付篡改 支付篡改 商品购买流程 常见修改参数 常见修改方法 某商场系统商品支付逻辑测试-数量,订单 购买数量 订单编号 某建站系统商品支付逻辑测试-价格,商品 购买价 ...

  3. Hello CTP(四)——CTP交易API

    一.CTP交易API简介 1.CTP交易API简介 CThostFtdcTraderApi交易API接口包含CThostFtdcTraderApi和CThostFtdcTraderSpi,通过CTho ...

  4. 《白帽子将Web安全》摘抄

    1.注入攻击是应用违背了"数据与代码分离原则"导致的结果.它有两个条件:一是用户能够控制数据的输入;二是代码拼凑了用户输入的数据,把数据当做代码执行了. 2.要完成webshell ...

  5. 读白帽子讲WEB安全,摘要

    读<白帽子讲WEB安全>摘要 文章目录 我的安全世界观 安全三要素-CIA 如何实施安全评估 白帽子兵法 客户端安全 浏览器安全 同源策略 浏览器沙箱 恶意网址拦截 高速发展的浏览器安全 ...

  6. Mybatis Plugin 以及Druid Filer 改写SQL

    背景 工作中偶尔会碰到需要统一修改SQL的情况,例如有以下表结构: CREATE TABLE `test_user` (`id` int(11) NOT NULL AUTO_INCREMENT,`ac ...

  7. 一文教你如何使用Mybatis Plugin 以及Druid Filer 改写SQL

    背景 工作中偶尔会碰到需要统一修改SQL的情况,例如有以下表结构: CREATE TABLE test_user ( id int(11) NOT NULL AUTO_INCREMENT, accou ...

  8. 读书笔记——吴翰清《白帽子讲Web安全》

    目录 第一篇 世界观安全 一 我的安全世界观 第二篇 客户端脚本安全 一 浏览器安全 二 跨站脚本攻击(XSS) 三 跨站点请求伪造(CSRF) 四 点击劫持(ClickJacking) 五 HTML ...

  9. S12(X)微控制器的Bootloader程序

    需要实现远程升级单片机,正好在网上找到了官方提供的Bootloader程序及其对应的文档,赶快弄下来学习研究,这是对其文档的翻译. 翻译的资料是公开的,在这里下载https://www.nxp.com ...

最新文章

  1. ​相似算法比较:递归、分治、动态规划、贪心、回溯、分支限界​
  2. rsync文件实时同步_从文件同步rsync算法谈起
  3. pythonenumapi_Python调用windows API实现屏幕截图
  4. python软件开发目录_软件开发目录规范
  5. C# 将多个图片合并成TIFF文件的两种方法
  6. 如何设置鼠标滚轮html,win7如何设置鼠标滚轮
  7. EasyPlayer Android RTSP播放器延迟再优化策略
  8. Asp.net主题(theme)和皮肤(skin)的使用
  9. 如何避免开源安全噩梦?
  10. java8 jstack_java自带命令行工具(jcmd,jstack)
  11. MarkDown编辑器中数学公式与符号-LaTeX 各种数学命令,符号
  12. Xp3下VMWare中Ubuntu12.04 联网
  13. matlab实现机器学习算法-回归分析
  14. 视频插帧算法之光流法
  15. 数学模型:传染病模型
  16. android 远程控制服务,Android手机3389远程控制服务器 microsoft remote de
  17. Android国际化多语言切换
  18. java jsf 入门_JSF入门实战
  19. Oracle删除数据后恢复
  20. spring mvc 常用注解详解

热门文章

  1. 移动端rem单位用法
  2. Scrum Meeting---Ten(2015-11-5)
  3. [转载] Python连接MySQL、Mongodb、SQLite
  4. [转载] Golang-简洁的并发
  5. 利用apache 的PropertyUtilsBean 实现map和pojo相互转换
  6. [带权并查集] Jzoj P1503 体育场
  7. Spark之Task原理分析
  8. Hibernate框架学习2
  9. 微信小程序手机号快速填写及会员卡开卡组件开放
  10. jmeter-Java关于MD5加密方法 以及16位32位互转