PHP session and cookie
来源:互联网 发布:全站仪编程 编辑:程序博客网 时间:2024/06/08 11:40
cookie 和 session 主要不同的是存储机制。cookie 是一个web页面到下一个页面的数据传输方法,存储在客户端;session 是让数据在页面中持续有效的方法,存储在服务器端
COOKIE
1.什么是cookie
Cookie 是在HTTP协议下,通过服务器或或脚本语言可以维护客户浏览器上信息的一种方式,存在与http请求头中。
cookie 简单的说,是web服务器暂时存储在用户硬盘上的一个文本文件。cookie文本文件命令格式:
用户名@网址[数字].txt
2.创建cookie
在PHP中通过 setcookie() 创建cookie。
cookie 是 HTTP 头标的组成部分,而投标必须在其他内容发送以前发送,因此在 setcookie() 之前不能有任何内容的输出。
cookie 语法格式如下:bool cookie( name [,value [,expire [,path [,domain [,secure]]]]]) expire : 有效时间path : cookie 在服务器端的有效路径domain : cookie 有效域名secure : cookie 是否仅通过安全的https,1,只在https上有效, 0,默认值都有效
3.读取Cookie
$_COOKIE[] 超全局数组读取浏览器端的Cookie值
4.删除Cookie
setcookie( "name","",time()-1 ); //值为空,有效期小于当前时间
5.cookie 生命周期
如果不设置失效时间,为会话Cookie,保存在内存中,关闭浏览器,Cookie失效。
设置了失效时间,保存在硬盘中,关闭浏览器依然有效,知道有效期超时。
浏览器最多允许存储300个Cookie文件,每个文件最大容量为4KB ,每个域名最多支持20个Cookie,达到限制,浏览器自动随机删除Cookie文件
SESSION
1.什么是SESSION
在计算机术语中,session 是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统所经过的时间。因此。Session实际上是一个特定的时间概念。
Session 工作原理: 启动一个session会话时,会生成一个随机而且唯一的session_id ,也就是session 的文件名,session_id 存储在服务器的内存中。关闭页面时 id 自动注销。
2.创建会话
2.1启动会话
- session_start() 函数
bool session_start(void); // 使用函数之前浏览器不能有任何内容的输出
- session_register()函数
session_register() , 函数需要 php.ini 中将 register_golbals 设置为on ; 使用session_register() 时不需要调用session_start(),PHP在创建了变量后隐含的调用了session_start()。
2.2 注册会话
session_start();$_SESSION['name'] = 'yuzhangsir';
2.3 使用会话
if(!empty($_SESSION['name'])){ $name = $_SESSION['name'];}
2.4 删除会话
unset( $_SESSION['name'] ) ; //删除单个会话,必须加元素,否则一次注销整个$_SESSION 会禁止整个会话功能,没有办法恢复,用户也没有办法再注册$_SESSION = array(); // 删除所有的会话变量session_destroy() ; // 结束当前会话
3.SESSION 设置时间
3.1客户端没有禁用Cookie
session_start();$time = 36800 ;setcookie( session_name(), session_id(), time()+$time , '/');$_SESSION['name'] = 'yuzhangsir';
3.2 客户端禁用了Cookie
1.提醒用户必须打开Cookie ;
2. php.ini 中,session.use_trans_sid = 1 , 或者编译时打开 -enable-trans-sid 选项;
3. 文件或者数据中存储 session_id
4.Session 临时文件
在服务器中,如果将所有用户的Session 都保存在临时目录中,会降低服务器的安全性和效率,session_save_path() ,可以设置存储路径、
$path = './tmp/';session_save_path($path);session_start();
- PHP session and cookie
- php Cookie AND Session 笔记
- session and cookie
- Session and Cookie
- session and cookie
- Java Session and Cookie
- session、cookie and cache
- session and cookie
- session and cookie
- Cookie and Session
- session and cookie
- cookie and session
- Session and cookie
- session-and-cookie#1
- Session and cookie
- Cookie and Session
- Cookie and Session
- cookie and session
- 基于用户投票的排名算法(五):威尔逊区间
- jsonp跨域
- 转载 修改ulimit值的学习点滴:
- 根据日期获取生肖,根据日期获取星座
- Hibernate配置
- PHP session and cookie
- 链表
- devexpress 上下滚动条
- 如何定位Android NDK开发中遇到的错误
- Android的项目应用总结
- 页面加载完不在顶部
- Vetx.x : EventLoop线程不要锁(Synchronized/ReentrantLock)
- java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.content.
- 一般对数组初始化可以用以下方法实现