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 14 PHP
PHP下10件你也许并不了解的事情
Sep 11 PHP
ThinkPHP 防止表单重复提交的方法
Aug 08 PHP
PHP超级全局变量数组小结
Oct 04 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
Aug 22 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
Nov 05 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
Mar 23 PHP
PHP怎样用正则抓取页面中的网址
Aug 09 PHP
tp5实现微信小程序多图片上传到服务器功能
Jul 16 PHP
PHP常见数组排序方法小结
Aug 20 PHP
Yii中特殊行为ActionFilter的使用方法示例
Oct 18 PHP
thinkphp5 redis缓存新增方法实例讲解
Mar 24 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调用C代码的实现方法
2014/03/11 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
jquery实现的超出屏幕时把固定层变为定位层的代码
2010/02/23 Javascript
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
javascript读写json示例
2014/04/11 Javascript
微信JSSDK上传图片
2015/08/23 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
node结合swig渲染摸板的方法
2018/04/11 Javascript
vue.extend实现alert模态框弹窗组件
2018/04/28 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
vuejs选中当前样式active的实例
2018/08/22 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
2018/09/18 Javascript
使用Vue 实现滑动验证码功能
2019/06/27 Javascript
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
python计算最小优先级队列代码分享
2013/12/18 Python
Python 爬虫学习笔记之多线程爬虫
2016/09/21 Python
Python对列表去重的多种方法(四种方法)
2017/12/05 Python
python matplotlib画图实例代码分享
2017/12/27 Python
python实现图书馆研习室自动预约功能
2018/04/27 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
python三引号输出方法
2019/02/27 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
windows、linux下打包Python3程序详细方法
2020/03/17 Python
python中tab键是什么意思
2020/06/18 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
在Python中字典按值排序的实现方法
2020/11/12 Python
浅谈html5增强的页面元素
2016/06/14 HTML / CSS
澳大利亚正品化妆品之家:Cosmetic Capital
2017/07/03 全球购物
Smilodox官方运动服装店:从运动服到健身配件
2020/08/27 全球购物
会计专业毕业生求职信
2014/07/04 职场文书
群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
八达岭长城导游词
2015/01/30 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
Jupyter notebook 不自动弹出网页的解决方案
2021/05/21 Python
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers