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删除与复制文件夹及其文件夹下所有文件的实现代码
Jan 23 PHP
php检测useragent版本示例
Mar 24 PHP
php的mssql数据库连接类实例
Nov 28 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
Sep 23 PHP
实现PHP框架系列文章(6)mysql数据库方法
Mar 04 PHP
php+mysql+jquery实现日历签到功能
Feb 27 PHP
PHP中类的自动加载的方法
Mar 17 PHP
PHP如何读取由JavaScript设置的Cookie
Mar 22 PHP
php实现基于pdo的事务处理方法示例
Jul 21 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
PHP小白必须要知道的php基础知识(超实用)
Oct 10 PHP
PHP封装的简单连接MongoDB类示例
Feb 13 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 gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
2010/05/15 PHP
写php分页时出现的Fatal error的解决方法
2011/04/18 PHP
PHP进程同步代码实例
2015/02/12 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
PHP中set_include_path()函数相关用法分析
2016/07/18 PHP
Yii针对添加行的增删改查操作示例
2016/10/18 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
2017/05/29 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
浅谈Laravel模板实体转义带来的坑
2019/10/22 PHP
Prototype RegExp对象 学习
2009/07/19 Javascript
Dom 结点创建 基础知识
2011/10/01 Javascript
详解JS 比较两个Json对象的值是否相等的实例
2013/11/20 Javascript
Jquery 动态循环输出表格具体方法
2013/11/23 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
node.js实现爬虫教程
2020/08/25 Javascript
javascript中异常处理案例(推荐)
2016/10/03 Javascript
node.js中的事件处理机制详解
2016/11/26 Javascript
详解NodeJs支付宝移动支付签名及验签
2017/01/06 NodeJs
Bootstrap缩略图与警告框学习使用
2017/02/08 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
教你用python3根据关键词爬取百度百科的内容
2016/08/18 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
pandas求两个表格不相交的集合方法
2018/12/08 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
一文秒懂python读写csv xml json文件各种骚操作
2019/07/04 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
canvas离屏技术与放大镜实现代码示例
2018/08/31 HTML / CSS
HealthElement海外旗舰店:新西兰大卖场
2018/02/23 全球购物
共产党员公开承诺书范文
2014/03/28 职场文书
2019年公司卫生管理制度样本
2019/08/21 职场文书