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 相关文章推荐
swfupload 多文件上传实现代码
Aug 27 PHP
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
Apr 09 PHP
php数字游戏 计算24算法
Jun 10 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
Jun 17 PHP
php实现按文件名搜索文件的远程文件查找器
May 10 PHP
PHP实现的英文名字全拼随机排号脚本
Jul 04 PHP
PHP实现远程下载文件到本地
May 17 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
Oct 10 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 PHP
基于php伪静态的实现方法解析
Jul 31 PHP
php实现记事本案例
Oct 20 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与XML的PDF文档生成技术
2006/10/09 PHP
PHP 和 MySQL 基础教程(四)
2006/10/09 PHP
杏林同学录(三)
2006/10/09 PHP
php设计模式 Bridge (桥接模式)
2011/06/26 PHP
php对数组排序代码分享
2014/02/24 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
js 字符串转化成数字的代码
2011/06/29 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
深入理解Node中的buffer模块
2017/06/03 Javascript
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
vue项目创建步骤及路由router
2020/01/14 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
2020/03/09 Javascript
解决vue一个页面中复用同一个echarts组件的问题
2020/07/19 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
简单介绍Python中的JSON使用
2015/04/28 Python
学习python类方法与对象方法
2016/03/15 Python
python安装cx_Oracle模块常见问题与解决方法
2017/02/21 Python
django orm 通过related_name反向查询的方法
2018/12/15 Python
详解Python locals()的陷阱
2019/03/26 Python
【python】matplotlib动态显示详解
2019/04/11 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
Python3将jpg转为pdf文件的方法示例
2019/12/13 Python
Python @property装饰器原理解析
2020/01/22 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
python 怎样进行内存管理
2020/11/10 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
HTML5中div、article、section的区别及使用介绍
2013/08/14 HTML / CSS
英国最大的手表网站:The Watch Hut
2017/03/31 全球购物
美国现代家具网站:Design Within Reach
2018/07/19 全球购物
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
网络研修随笔感言
2014/02/17 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python