PHP会话操作之cookie用法分析

 更新时间:2016年09月28日 09:06:15   作者:ligbee  
这篇文章主要介绍了PHP会话操作之cookie用法,结合实例形式分析了php中cookie的定义、有效期、有效路径及相关使用方法与注意事项,需要的朋友可以参考下

本文实例分析了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中cookie用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • php生成图形验证码几种方法小结

    php生成图形验证码几种方法小结

    生成图形验证码需要使用php GD库来生成,如果你没开户GD库我们需要在php.ini文件找到extension=php_gd2.dll 去掉前面的;就行了,然后重启apache 或iis环境即可
    2013-08-08
  • php中Ctype函数用法详解

    php中Ctype函数用法详解

    这篇文章主要介绍了php中Ctype函数用法,以实例形式较为详细的分析了Ctype函数的具体用法,对于进行字符串检测具有一定的实用价值,需要的朋友可以参考下
    2014-12-12
  • PHP设计模式之工厂模式定义与用法详解

    PHP设计模式之工厂模式定义与用法详解

    这篇文章主要介绍了PHP设计模式之工厂模式,结合实例形式详细分析了php工厂模式的概念、原理、定义、用法及相关操作注意事项,需要的朋友可以参考下
    2018-04-04
  • PHP获取访问页面HTTP状态码的实现代码

    PHP获取访问页面HTTP状态码的实现代码

    这篇文章主要介绍了一个PHP获取访问页面HTTP状态的再封装函数,需要的朋友可以参考下
    2016-11-11
  • Laravel模板引擎Blade中section的一些标签的区别介绍

    Laravel模板引擎Blade中section的一些标签的区别介绍

    这篇文章主要介绍了Laravel模板引擎Blade中section的一些标签的区别介绍,本文讲解了@yield 与 @section、@show 与 @stop、@append 和 @override的区别,需要的朋友可以参考下
    2015-02-02
  • php中bind_param()函数用法分析

    php中bind_param()函数用法分析

    这篇文章主要介绍了php中bind_param()函数用法,简单分析了bind_param()函数的功能、参数、使用方法与相关注意事项,需要的朋友可以参考下
    2017-03-03
  • PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析

    PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析

    这篇文章主要介绍了PHP编程文件处理类SplFileObject和SplFileInfo用法,结合实例形式分析了文件处理类SplFileObject和SplFileInfo的功能、定义、使用方法与相关注意事项,需要的朋友可以参考下
    2017-07-07
  • php使用preg_match()函数验证ip地址的方法

    php使用preg_match()函数验证ip地址的方法

    这篇文章主要介绍了php使用preg_match()函数验证ip地址的方法,涉及php针对数字及字符串的正则匹配操作相关技巧,需要的朋友可以参考下
    2017-01-01
  • PHP设置Cookie的HTTPONLY属性方法

    PHP设置Cookie的HTTPONLY属性方法

    下面小编就为大家带来一篇PHP设置Cookie的HTTPONLY属性方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • php获取ajax的headers方法与内容实例

    php获取ajax的headers方法与内容实例

    下面小编就为大家分享一篇php获取ajax的headers方法与内容实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12

最新评论