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 setcookie() cannot modify header information 的解决方法
Jan 09 PHP
基于php-fpm 参数的深入理解
Jun 03 PHP
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
Jun 20 PHP
浅析51个PHP处理字符串的函数
Aug 02 PHP
PHP中file_exists()判断中文文件名无效的解决方法
Nov 12 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
Nov 19 PHP
PHP实现的简单日历类
Nov 29 PHP
php一个解析字符串排列数组的方法
May 12 PHP
CodeIgniter配置之autoload.php自动加载用法分析
Jan 20 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 PHP
PHP实现的日历功能示例
Sep 01 PHP
PHP如何使用JWT做Api接口身份认证的实现
Feb 03 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的面向对象编程
2006/10/09 PHP
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
在每个匹配元素的外部插入新元素的方法
2013/12/20 Javascript
学习Bootstrap滚动监听 附调用方法
2016/07/02 Javascript
nodejs加密Crypto的实例代码
2016/07/07 NodeJs
JavaScript之cookie技术详解
2016/11/18 Javascript
微信小程序开发一键登录 获取session_key和openid实例
2016/11/23 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
2018/01/23 jQuery
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
vue+jquery+lodash实现滑动时顶部悬浮固定效果
2018/04/28 jQuery
vue实现多条件和模糊搜索功能
2019/05/28 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
2019/05/29 Javascript
javascript实现倒计时效果
2020/02/17 Javascript
加速vue组件渲染之性能优化
2020/04/09 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
python thread 并发且顺序运行示例
2009/04/09 Python
python在非root权限下的安装方法
2018/01/23 Python
Python中的字符串切片(截取字符串)的详解
2019/05/15 Python
超实用的 30 段 Python 案例
2019/10/10 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
Python中内建模块collections如何使用
2020/05/27 Python
香港网上花店:FlowerAdvisor香港
2019/05/30 全球购物
公司行政经理岗位职责
2013/12/24 职场文书
大课间活动制度
2014/01/18 职场文书
企业党员一句话承诺
2014/05/30 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
拾金不昧表扬稿
2015/01/16 职场文书
个人简历自我评价怎么写
2015/03/10 职场文书
2015年秋季小学开学标语
2015/07/16 职场文书
幼儿园2016圣诞节活动总结
2016/03/31 职场文书
PostgreSQL存储过程实用脚本(二):创建函数入门
2021/04/05 PostgreSQL
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python
Spring中的@Transactional的工作原理
2022/06/05 Java/Android