PHP会话操作之cookie用法分析


Posted in PHP onSeptember 28, 2016

本文实例分析了PHP cookie用法。分享给大家供大家参考,具体如下:

会话技术:cookie

允许服务器端脚本在浏览器存储数据的技术,
允许服务器向浏览器发送指令,用来管理存储在浏览器端的cookie数据
浏览器如果存储了某服务器所存储的cookie数据,请求时会带上cookie的数据

//增、改
setcookie(key,val);
//删
setcookie(key,'');
//获取浏览器携带的cookie数据
$_COOKIE[key]

特征:

有效期:

默认是临时cookie,也叫会话cookie,会话结束(浏览器关闭)就清除。可以通过设置时间戳(1970年第一秒起)确定生命期,在浏览器端时间以格林威治标准时间(GMT)作为标准

setcookie(key,val,time()+60);
//代表保存1分钟,浏览器会检查是否失效
setcookie(key,val,0);
//默认会话
setcookie(key,'',time()-1);
//删除cookie
setcookie(key,val,PHP_INT_MAX);
//逻辑上表示永久有效

有效路径:

默认在当前路径及其后代路径有效。(路径不是代码所在文件的本地磁盘路径,而是url请求的路径关系)
不同路径下同名的cookie可同时存储于浏览器,浏览器会先查找当前目录内有效的cookie,再向上查找,所有有效的都会携带至服务器,服务器端形成$_COOKIE时,会出现重写效果,先出现的保留,
可以通过设置setcookie()第四个参数为'/'表示站点根目录有效,即整站有效。有效路径由浏览器判断,有效路径设置时候服务器会告知浏览器

setcookie(key,val,0,'/');

有效域:

默认cookie仅仅在当前域下有效

可以通过设置使cookie的有效域,扩展到某个一级域名下的所有子域

me.com      //一级域名
lig.me.com    //二级域名
bee.me.com    //二级域名
setcookie(key,val,0,'','me.com');

是否仅安全传输

默认不论浏览器发出的是http和https协议都会将有效的cookie携带给服务器

可以通过设置第六个参数为true,表示激活仅安全传输,此时浏览器发送请求时若为http协议,就不会发送这些设置为仅安全传输的cookie,apache需要加载openssl模块才能使用https协议

setcookie(key,val,0,'','',true);

HTTPonly

默认浏览器所存储的脚本可以被其它脚本调用处理
通过设置第7个参数使得只能cookie只能在http请求中使用

setcookie(key,val,0,'','',false,true);

注意:

cookie值只能是字符串类型
cookie键可以写成数组下标的形式
setcookie()前不能有输出(output_buffering)

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
[FAQ]PHP中的一些常识:类篇
Oct 09 PHP
在IIS上安装PHP4.0正式版
Oct 09 PHP
PHP读取ACCESS数据到MYSQL的代码
May 11 PHP
php采用curl模仿登录人人网发布动态的方法
Nov 07 PHP
php使用glob函数快速查询指定目录文件的方法
Nov 15 PHP
一个经典实用的PHP图像处理类分享
Nov 18 PHP
php微信支付之APP支付方法
Mar 04 PHP
php实现微信发红包
Dec 05 PHP
学习php设计模式 php实现观察者模式(Observer)
Dec 09 PHP
PHP strcmp()和strcasecmp()的区别实例
Nov 05 PHP
降低PHP Redis内存占用
Mar 23 PHP
php装饰者模式简单应用案例分析
Oct 23 PHP
PHP session会话操作技巧小结
Sep 27 #PHP
PHP简单预防sql注入的方法
Sep 27 #PHP
PHP数据对象PDO操作技巧小结
Sep 27 #PHP
PHP基于GD库的图像处理方法小结
Sep 27 #PHP
PHP文件上传操作实例详解
Sep 27 #PHP
PHP目录操作实例总结
Sep 27 #PHP
PHP文件操作实例总结
Sep 27 #PHP
You might like
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
php记录代码执行时间(实现代码)
2013/07/05 PHP
PHP中cookie知识点学习
2018/05/06 PHP
检测jQuery.js是否已加载的判断代码
2011/05/20 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
JavaScript中如何通过arguments对象实现对象的重载
2014/05/12 Javascript
浅谈javascript中的三种弹窗
2016/10/21 Javascript
浅谈express 中间件机制及实现原理
2017/08/31 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
2017/09/06 jQuery
vue select二级联动第二级默认选中第一个option值的实例
2018/01/10 Javascript
在vue中使用SockJS实现webSocket通信的过程
2018/08/29 Javascript
如何在JavaScript中正确处理变量
2020/12/25 Javascript
详解Swift中属性的声明与作用
2016/06/30 Python
搭建Python的Django框架环境并建立和运行第一个App的教程
2016/07/02 Python
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
python爬取内容存入Excel实例
2019/02/20 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
python输入错误后删除的方法
2019/10/12 Python
为什么说python更适合树莓派编程
2020/07/20 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
日本无添加化妆品:HABA
2016/08/18 全球购物
德国家具在线:Fashion For Home
2017/03/11 全球购物
临床医学系毕业生推荐信
2013/11/09 职场文书
外企求职信范文分享
2013/12/31 职场文书
运动会广播稿300字
2014/01/10 职场文书
餐饮业经理竞聘演讲稿
2014/01/14 职场文书
大学生水果店创业计划书
2014/01/28 职场文书
公务员党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
实习单位意见
2015/06/04 职场文书
无婚姻登记记录证明
2015/06/18 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python
python数字图像处理:图像简单滤波
2022/06/28 Python