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版(4)
Oct 09 PHP
php下实现农历日历的代码
Mar 07 PHP
PHP实现MVC开发得最简单的方法――模型
Apr 10 PHP
php header Content-Type类型小结
Jul 03 PHP
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
Aug 11 PHP
php中大括号作用介绍
Mar 22 PHP
浅析PHP的静态成员函数效率更高的原因
Jun 13 PHP
PHP中exec函数和shell_exec函数的区别
Aug 20 PHP
PHP统计目录大小的自定义函数分享
Nov 18 PHP
PHP图像裁剪缩略裁切类源码及使用方法
Jan 07 PHP
Yii框架日志记录Logging操作示例
Jul 12 PHP
PHP bin2hex()函数基础实例讲解
Feb 11 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&&mysql)六
2006/10/09 PHP
PHP截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
CakePHP去除默认显示的标题及图标的方法
2008/10/22 PHP
PHP冒泡排序算法代码详细解读
2011/07/17 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
javascript  Error 对象 错误处理
2008/05/18 Javascript
javascript真的不难-回顾一下基础知识
2013/01/15 Javascript
javascript实现简单的Map示例介绍
2013/12/23 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
JavaScript_ECMA5数组新特性详解
2016/06/12 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
2017/07/05 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
2017/12/18 jQuery
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
2018/08/20 Javascript
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
用python实现对比两张图片的不同
2018/02/05 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
Pycharm配置远程调试的方法步骤
2018/12/17 Python
Python制作exe文件简单流程
2019/01/24 Python
Python登录系统界面实现详解
2019/06/25 Python
python3发送邮件需要经过代理服务器的示例代码
2019/07/25 Python
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
STUBHUB日本:购买和出售全球活动门票
2018/07/01 全球购物
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
测试工程师程序员求职信范文
2014/02/20 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
2014年班组建设工作总结
2014/12/01 职场文书
2015年幼儿园安全工作总结
2015/05/12 职场文书
2015年政府采购工作总结
2015/05/21 职场文书