Blogger Information
Blog 16
fans 0
comment 0
visits 11217
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php 会话跟踪
逃逃
Original
538 people have browsed it

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
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post