热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phpsession()函数使用方法详解

phpsession()函数在php开发应用中有很重要的一个角色了,下面我来给初学者简单的介绍一下关于phpsession()函数使用方法与实例。对比起

php session()函数在php开发应用中有很重要的一个角色了,下面我来给初学者简单的介绍一下关于php session()函数使用方法与实例。

对比起 COOKIE,Session 是存储在服务器端的会话,相对安全,并且不像 COOKIE 那样有存储长度限制,本文简单介绍 Session 的使用。

由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容,实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全得多.

由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 的内容,实际上在服务器端的 Session 文件,PHP自动修改 Session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全很多。 

实例代码如下:

  1. // 启动Session 
  2. session_start(); 
  3. // 声明一个名为 admin 的变量,并赋空值。 
  4. $_SESSION["admin"] = null; 
  5. ?>  
  6. // 启动Session 
  7. session_start(); 
  8. // 将原来注册的某个变量销毁 
  9. unset($_SESSION['admin']); 
  10. // 销毁整个 Session 文件 
  11. session_destroy(); 
  12. ?>  
  13. // 启动Session 
  14. session_start(); 
  15. // 保存一天 
  16. $lifeTime = 24 * 3600; 
  17. setCOOKIE(session_name(), session_id(), time() + $lifeTime"/"); 
  18. ?>  
  19. // 保存一天  
  20. $lifeTime = 24 * 3600; 
  21. session_set_COOKIE_params($lifeTime); 
  22. session_start(); 
  23. $_SESSION["admin"] = true; 
  24. ?>  
  25. // 保存一天 
  26. $lifeTime = 24 * 3600; 
  27. // 取得当前 Session 名,默认为 PHPSESSID 
  28. $sessionName = session_name(); 
  29. // 取得 Session ID 
  30. $sessionID = $_GET[$sessionName]; 
  31. // 使用 session_id() 设置获得的 Session ID 
  32. session_id($sessionID); 
  33. session_set_COOKIE_params($lifeTime); 
  34. session_start(); 
  35. $_SESSION['admin'] = true; 
  36. ?>  
  37. // 设置一个存放目录 
  38. $savePath = './session_save_dir/'
  39. // 保存一天 
  40. $lifeTime = 24 * 3600; 
  41. session_save_path($savePath); 
  42. session_set_COOKIE_params($lifeTime); 
  43. session_start(); 
  44. $_SESSION['admin'] = true; 
  45. ?> 

另外,我们还可以使用 session_set_save_handler 函数来自定义 Session 的调用方式。

PHP函数补完:session_id()

session_id()

session_id() 存取目前 session 代号。

语法:string session_id(string [id]);

本函数可取得或者重新配置目前存放 Session 的代号,若无参数 id 则表示只有取得目前 Session 的代号,加上参数则表示将 Session 代号设成新指定的 id,输入及返回均为字符串。

输出 session_id(),代码如下:

  1.  session_start();  
  2.  echo session_id(); 
  3.  // 输出 dqr58dnuqj2gufvg4o3tmjb9v4 
  4. ?> 

设置 session_id(),代码如下:

  1.  session_id("NowaMagic"); 
  2.  session_start(); 
  3.  echo session_id(); 
  4.  // 输出 NowaMagic 
  5. ?> 

session_id 恢复 session的内容

php的session是可以程序恢复的,这个和java不太一样,session的恢复机制可以实现多个应用程序session的共享,因为php的session都是以文件形式或者数据库存储的,首先是session_id的获取是通过session_id()函数获取,这个值可以进行传递。

程序恢复session,首先要知道session_id,大家通过手册可以知道session的恢复通过session_id($id);但是在恢复时要注意一个先后顺序,要得到之前session的内容,必须在session_start()之前执行session_id($id),这样才能在执行了session_start时初始化session的时候恢复到之前的内容,否则的话你得到的是一个空的session,你什么也得不到。

之前session被重新初始化了,这个和session_start()的作用有密切关系,因为session_start告诉php,session要初始化,要从session文件中反序列化session内容,所以session_start的作用就是把之前存储的文件内容反序列化,session_start序列化之前要知道session_id,如果没有就生成一个新的session_id,如果有就反序列化相应文件的内容。


推荐阅读
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 当iOS设备越狱后,某些插件可能会导致系统崩溃(白苹果)。此时,可以通过进入安全模式来排查并删除有问题的插件。本文将详细介绍如何通过特定按键组合进入不加载MobileSubstrate的安全模式,并提供相关背景知识。 ... [详细]
  • 在金融和会计领域,准确无误地填写票据和结算凭证至关重要。这些文件不仅是支付结算和现金收付的重要依据,还直接关系到交易的安全性和准确性。本文介绍了一种使用C语言实现小写金额转换为大写金额的方法,确保数据的标准化和规范化。 ... [详细]
author-avatar
张浩杰_Hh
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有