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 向访客和爬虫显示不同的内容
Nov 09 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
Nov 27 PHP
PHP中使用asort进行中文排序失效的问题处理
Aug 18 PHP
PHP对文件进行加锁、解锁实例
Jan 23 PHP
php实现递归的三种基本方式
Jul 04 PHP
PHP+AJAX实现投票功能的方法
Sep 28 PHP
php中分页及SqlHelper类用法实例
Jan 12 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
Jul 03 PHP
thinkPHP5框架导出Excel文件简单操作示例
Aug 03 PHP
Yii2框架中一些折磨人的坑
Dec 15 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
May 02 PHP
PHP代码覆盖率统计详解
Jul 22 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支付宝在线支付接口开发教程
2016/09/19 PHP
JQuery autocomplete 使用手册
2010/04/01 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
纯js网页画板(Graphics)类简介及实现代码
2012/12/24 Javascript
jquery1.9 下检测浏览器类型和版本的方法
2013/12/26 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
Javascript中对象继承的实现小例
2014/05/12 Javascript
Javascript中的几种继承方式对比分析
2016/03/22 Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
2016/07/27 Javascript
AngularJS实现单一页面内设置跳转路由的方法
2017/06/28 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
M2实现Nodejs项目自动部署的方法步骤
2019/05/05 NodeJs
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
Python中的元类编程入门指引
2015/04/15 Python
轻松掌握python设计模式之策略模式
2016/11/18 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
Python 保持登录状态进行接口测试的方法示例
2019/08/06 Python
在vscode中配置python环境过程解析
2019/09/28 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
2020/03/12 Python
python如何停止递归
2020/09/09 Python
基于DOM+CSS3实现OrgChart组织结构图插件
2016/03/02 HTML / CSS
Dyson戴森波兰官网:Dyson.pl
2019/08/05 全球购物
荷兰家电销售网站:Welhof
2020/12/08 全球购物
分层教学实施方案
2014/03/19 职场文书
2014乡镇机关党员个人对照检查材料思想汇报
2014/10/09 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
2015年春节标语口号
2014/12/09 职场文书
如何写辞职书
2015/02/26 职场文书
三下乡个人总结
2015/03/04 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书
Python数据清洗工具之Numpy的基本操作
2021/04/22 Python
CSS实现两列布局的N种方法
2021/08/02 HTML / CSS
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技