php 会话跟踪

[toc] //md 内容表

会话跟踪

  • web 应用程序是使用 HTTP 协议传输数据的;HTTP 协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这意味着服务器无法从连接上跟踪会话
  • 会话跟踪是 Web 程序中常用的技术,用来跟踪用户的整个会话。(数据的跨页面传值)
  • 网页间数据传递的方式
  1. 超链接 <a href='index/index?id=1'></a>
  2. PHP 的header()函数,将一个函数从一个脚本传到另一个脚本
  3. cookie、session 和 token
  • 把用户的资料储存在客户端计算机/硬盘/浏览器上
  • PHP 中的setCookie()函数可以设置cookie
  • 如果不设置 setCookie()的过期时间,会在浏览器关闭后自动销毁

一般格式:

setCookie(cookie名,cookie值,cookie过期时间)

1.储存 cookie 1 小时

setCookie("uname",'admin', time()+3600);

2.读取 cookie

$_COOKIE[cookie名]

3.销毁 cookie

setCookie("uname",'admin', time()-3600);
需要刷新 2 次

4.查看 cookie

1.可以在 Network 中的 Headers 请求头/响应头里查看
2.可以在 Console 里,输入 document.cookie 查看
3.可以在 Application 中的 Storage 可以查看 session/cookies

二. session(可实现页面之间数据共享)

  • 把用户的资料储存在服务器上
  • php.ini 里有 session 相关配置

    1.开启 session

<?session_start()?>
须在文件最顶端书写

2.存入会话

$-SESSION['uname'] = $value

3.读取 session

<?=$_SESSION['uname']?>

4.销毁 session

4.1 以下 2 种删除 session 信息 并不会删除 session 文件

unset($_SESSION['uname']);
$_SESSION = [];

4.2 彻底删除文件

session_destroy();

5.垃圾回收 session

5.1 清理次数

session.gc_probablity = 1;

5.2 session 开启次数

session.gc_divisor = 100;

5.3 过期时间

session.gc_maxlifetime = 1440;
即每 100 次开启 session, 就有 1 次, 会清理掉最后修改时间至今超过 1440s 的 session 文件

6.session 是基于 session id 的查询方式

    1. cookie:通过在客户端记录信息确定用户身份
      session:通过在服务器端记录信息确定用户身份

    1. cookie 不是很安全,别人可以分析存放在本地的 COOKIE 并进行 COOKIE 欺骗考虑到安全应该使用 session
    1. session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用 cookie
    1. 单个 cookie 保存的数据不能超过 4k,很多浏览器都限制一个站点最多保存 20 个 cookie

四.token

  • 原理:用户登录以后 php 连接 mysql 验证用户名/密码,验证成功以后,返回一个 token
  • 明文变密文 openssl_encrypt,密文变明文 openssl_decrypt

更多相关文章

  1. 20.)PHPWeb开发框架~laravel中会话控制Session和Cookie的使用操作
  2. 17.【TP6学习笔记】Session的开启赋值取值删除清空等操作
  3. 0513会话控制作业
  4. 【RS】导出路由器/交换机配置的方法
  5. 【PHP会话控制】理解会话控制cookie和session详解(附自动登录案例
  6. PHP:PDO->fetch()和fetchAll()遍历,session进行会话跟踪,用户退出
  7. 一个SQL让导致整个数据库都整挂了!
  8. APM-全链路追踪
  9. 【故障处理】队列等待之enq: TX - row lock contention

随机推荐

  1. 最封闭的开源系统:话说 Android 的八宗罪
  2. android spinner修改 样式
  3. 关于Android的开发经验总结
  4. Android RelativeLayout 相对布局解析
  5. Android的Window类
  6. Android 电池管理系统
  7. Android(安卓)跨进程启动Activity黑屏(白
  8. Android教程之一:Window下搭建Android开发
  9. Android的一点思考
  10. 《浅谈android进程》