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 相关文章推荐
基于php无限分类的深入理解
Jun 02 PHP
PHP批量查询WordPress留言者E-mail地址实现方法
Feb 15 PHP
php中stdClass的用法分析
Feb 27 PHP
PHP实现扎金花游戏之大小比赛的方法
Mar 10 PHP
PHP动态规划解决0-1背包问题实例分析
Mar 23 PHP
php通过排列组合实现1到9数字相加都等于20的方法
Aug 03 PHP
PHP简单实现断点续传下载的方法
Sep 25 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
Sep 11 PHP
PHP互换两个变量值的方法(不用第三变量)
Nov 14 PHP
浅谈PHP表单提交(POST&GET&URL编/解码)
Apr 03 PHP
Laravel中任务调度console使用方法小结
May 07 PHP
PHP array_shift()用法实例分析
Jan 07 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
PHP中::、->、self、$this几种操作符的区别介绍
2013/04/24 PHP
PHP永久登录、记住我功能实现方法和安全做法
2015/04/27 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
php生成图片缩略图功能示例
2017/02/22 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
2019/07/15 PHP
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
struts2+jquery组合验证注册用户是否存在
2014/04/30 Javascript
jquery实现类似淘宝星星评分功能有截图
2014/09/15 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
2015/01/09 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
ES6新数据结构Map功能与用法示例
2017/03/31 Javascript
基于pako.js实现gzip的压缩和解压功能示例
2017/06/13 Javascript
用jquery获取select标签中选中的option值及文本的示例
2018/01/25 jQuery
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
vue单页开发父子组件传值思路详解
2018/05/18 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
微信小程序日历组件使用方法详解
2018/12/29 Javascript
webpack HappyPack实战详解
2019/10/08 Javascript
解决vue项目 build之后资源文件找不到的问题
2020/09/12 Javascript
[06:07]DOTA2-DPC中国联赛3月5日Recap集锦
2021/03/11 DOTA
把大数据数字口语化(python与js)两种实现
2013/02/21 Python
Python的组合模式与责任链模式编程示例
2016/02/02 Python
Python中列表和元组的使用方法和区别详解
2020/12/30 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
python语言的优势是什么
2020/06/17 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
2021/02/18 Python
Matplotlib animation模块实现动态图
2021/02/25 Python
美国本地交易和折扣网站:LocalFlavor.com
2017/10/26 全球购物
Expedia挪威官网:酒店、机票和租车
2018/03/03 全球购物
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
2015年艾滋病防治工作总结
2015/05/22 职场文书