PHP 会话控制技术

Posted 皎然

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 会话控制技术相关的知识,希望对你有一定的参考价值。

会话控制是指网站与用户之间跨页面数据交互的一种解决方案,主要有cookie和session两种。

  • 使用本地文件处理跨页面传值,用户的基本信息加密后保存到本地
  • 安全性相对不高
  • 用户可以禁止cookie
  • 存储数据有大小限制(<4k)
  • 不同浏览器存储不同的cookie

SESSION

  • 在服务器中一种解决方式,可以使用sessionid来唯一识别某个用户
  • 有时间周期大致24分钟
  • 安全性高
  • 存储的数据没有大小限制;

cookie的使用

配置

session.use_cookies = 1   //设置cookie是否开启
session.cookie_path = /   //|"d:/tmp"   :设置cookie路径,一定在使用cookie之前设置

设置值

bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] )

读取

$_COOKIE

session的使用

配置

session.use_only_cookies = 1:

设置session运行时,唯一的用户标识符是通过cookie存储还是通过REQUEST_URL来传递,如果设置为1,就是cookie,如果0就是URL传递,无论使用任何方法存储,用户的sessionid是唯一

session的有效周期设置时,是通过cookie有效周期和session周期同时设置的

session.cookie_lifetime=0   0:关闭浏览器会话结束
session.gc_maxlifetime = 1440     判断24分钟之后,session失效,需重新登录

session会话结束后是否立刻清除,主要看session的垃圾机制,如果是100,那么就有1%的概率清除

	session.gc_probability =1
	session.gc_divisor     =100

读取

$_SESSION

以上是关于PHP 会话控制技术的主要内容,如果未能解决你的问题,请参考以下文章

PHP面试 PHP基础知识 八(会话控制)

控制台命令上的PHP会话丢失

(实用篇)php通过会话控制实现身份验证实例

会话控制

PHP Laravel:如何设置或获取会话数据?

PHP 会话控制