博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP中SESSION与COOKIE区别与联系
阅读量:4088 次
发布时间:2019-05-25

本文共 930 字,大约阅读时间需要 3 分钟。

存储于浏览器端,由浏览器每次向服务器发出请求时,放在 http 协议的头部,发给服务器。服务器设置 cookie ,本质是发送请求和参数给浏览器,最终还是由浏览器存盘。服务器设置 cookie 后,并不会马上生效,必须等到下次 客户端向服务器发出请求时,将 cookie 发给服务器!

对于 php ,设置 cookie 主要使用函数 setcookie(name, value, expire, path, domain);

  • name:作为键(必选)

  • value: 作为值(必选)

  • expire:过期时间,可以使用 time() 函数获取当前时间,在此基础上增加或者减少,单位:S

  • path:设置为 "/":所有页面有效,所有客户端发给服务器的请求,全部包含该 cookie

    设置为 null :当前页面有效,只有当前页面请求服务器时,浏览器才会发送 cookie

表示设置一个键为 login ,值为 root ,在一个小时后过期,在所有页面都要发送该 cookie

对于 phpcookie 存储于全局数组 _COOKIE 中,使用 $_COOKIE['name'] 既可获取 cookie 的值,使用 isset($_COOKIE['name']) 判断 cookie 是否存在!

session

session 存储于服务器中的全局数组 _SESSION 中,使用 session 之前,务必调用 session_start() 函数!

设置 session

获取 session

对于 cookiesession 的使用,务必掌握一点,使用不同浏览器访问服务器,$_SESSION$_COOKIE 全局数组不是共享的,这样的设计是合理的,假如某一个用户 root 登录后,服务器设置 :

以后网站中每个网页都会判断:

假如 $_SESSION 是共享的,只要有一个用户登录过,另一个用户使用另一个浏览器,不经过登录直接使用 url 便可以访问我们的网站内容,因为 $_SESSION 中我们已经设置过数值,这样是很不合理的,也是不安全的!

转载地址:http://gnzii.baihongyu.com/

你可能感兴趣的文章
使用Realsense D435i运行VINS-Fusion并建图
查看>>
gazebo似乎就是在装ROS的时候一起装了,装ROS的时候选择的是ros-melodic-desktop-full的话。
查看>>
React + TypeScript 实现泛型组件
查看>>
TypeScript 完全手册
查看>>
React Native之原理浅析
查看>>
Git操作清单
查看>>
基础算法
查看>>
前端面试
查看>>
React Hooks 异步操作踩坑记
查看>>
聊聊编码那些事,顺带实现base64
查看>>
TypeScript for React (Native) 进阶
查看>>
React 和 ReactNative 的渲染机制/ ReactNative 与原生之间的通信 / 如何自定义封装原生组件/RN中的多线程
查看>>
JavaScript实现DOM树的深度优先遍历和广度优先遍历
查看>>
webpack4 中的 React 全家桶配置指南,实战!
查看>>
react 设置代理(proxy) 实现跨域请求
查看>>
通过试题理解JavaScript
查看>>
webpack的面试题总结
查看>>
实践这一次,彻底搞懂浏览器缓存机制
查看>>
Koa2教程(常用中间件篇)
查看>>
React Hooks 完全指南
查看>>