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 相关文章推荐
程序员编程十条戒律
Jul 09 PHP
PHP的error_reporting错误级别变量对照表
Jul 08 PHP
php常见的魔术方法详解
Dec 25 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
Mar 03 PHP
PHP模板引擎Smarty中变量的使用方法示例
Apr 11 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
Jan 20 PHP
PHP截取发动短信内容的方法
Jul 04 PHP
PHP编程中的Session阻塞问题与解决方法分析
Aug 07 PHP
PHP实现的解汉诺塔问题算法示例
Aug 06 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 PHP
php 中self,this的区别和操作方法实例分析
Nov 04 PHP
浅谈PHP中的那些魔术常量
Dec 02 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框架的优缺点对比分析
2014/12/25 PHP
fckeditor上传文件按日期存放及重命名方法
2015/05/22 PHP
PHP registerXPathNamespace()函数讲解
2019/02/03 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
为Yahoo! UI Extensions Grid增加内置的可编辑器
2007/03/10 Javascript
js原生态函数中使用jQuery中的 $(this)无效的解决方法
2011/05/25 Javascript
javascript中创建对象的几种方法总结
2013/11/01 Javascript
jquery 使用简明教程
2014/03/05 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
2015/08/05 Javascript
jquery实现网站列表切换效果的2种方法
2016/08/12 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
jQuery图片加载失败替换默认图片方法汇总
2017/11/29 jQuery
vue 实现 ios 原生picker 效果及实现思路解析
2017/12/06 Javascript
详解webpack 入门与解析
2018/04/09 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
[01:42]DOTA2 – 虚无之灵
2019/08/25 DOTA
Python使用openpyxl读写excel文件的方法
2017/06/30 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
2018/06/14 Python
Python 处理图片像素点的实例
2019/01/08 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
Python使用进程Process模块管理资源
2020/03/05 Python
Python读写操作csv和excle文件代码实例
2020/03/16 Python
Python类成员继承重写的实现
2020/09/16 Python
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
凯特王妃父母建立的派对用品网站:Party Pieces
2017/05/28 全球购物
从当地商店送来的杂货:Instacart
2018/08/19 全球购物
汉语专业毕业生自荐信
2014/07/06 职场文书
颂军魂爱军营演讲稿
2014/09/13 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
检讨书怎么写
2015/05/07 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers