跟随我在oracle学习php(37)

Posted rightgram

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟随我在oracle学习php(37)相关的知识,希望对你有一定的参考价值。

Cookie基本操作

设置(增删改)

函数

Setcookie(KEY, VALUE)

完成cookie数据设置,

Key存在更新,不存在则添加。

如果值为空字符串,表示删除该KEY

 

 

获取(查)

获取浏览器在请求时携带的COOKIE数据

使用 超全局数组变量,$_COOKIE 完成cookie数据获取

php核心,在初始化阶段,会将所有请求的cookie数据,整理到$_COOKIE变量中,供PHP脚本所使用!

其中 每个$_COOKIE的元素,对应一个cookie变量,元素键就是cookieKEY,元素的值,就是cookieValue

 

 

通过firebug的网络面板监视cookie的传输情况

设置cookie在响应数据区,会出现set-cookie指令,用来服务器告知浏览器需要设置的cookie信息。

 

 

浏览器请求时:如果存在则在请求数据中携带:

 

 

Cookie特征

有效期

默认称之为临时cookie,也叫会话cookie

会话周期结束(浏览器关闭)

 

 

支持设置有效期:

Setcookie()的第三个参数可以对有效期进行设置,有效期采用一个时间进行表示

 

 

判定cookie失效了呢?

浏览器,服务器在设置cookie时,会同时告知浏览器该cookie的有效期。

 

 

浏览器在向服务器发送请求时,检测cookie的是否有效,只有没有过有效期的cookie数据请求时,才会携带。

 

语法

特殊的有效期值:

0, 默认的,表示会话周期

Time()-1,删除cookie的标准做法。setCookie(‘KEY’,‘’, time()-1)

PHP_INT_MAX: 逻辑上表示永久有效的cookie

 

有效路径

默认

Cookie在当前路径及其后代路径有效。  文件里面设置  文件外面获取不了

 

Tip路径,不是代码所在文件的本地磁盘路径,而是URL请求的路径关系。

Tip:不同路径,下同名的cookie可以同时存储于浏览器端。

 

不过是,浏览器发出请求时,会先查找当前目录内有效的cookie,再向上查找,将所有有效的,都携带到服务器端,服务器在形成$_COOKIE,会出现重写效果,先出现的保留!

 

 

可以通过setCookie()的第四个参数进行修改:

通常设置为/表示,站点根目录有效。也就是整站有效!

 

 

 

Tip:有效路径的判断也是在浏览器端。服务器会将有效路径设置时,告知浏览器:

 

 

 

语法

‘’ 默认值。

 

有效

默认:

Cookie仅仅在当前下有效。

 

可以通过设置,使cookie的有效域,扩展到某个一级域名下的所有子域;

Test.kang.com

Shop.kang.com

.kang.com 一级域名

Test.kang.com二级域名

第五个参数可以做到:

 

 

 

是否仅安全传输

https://

加密http协议!

 

默认:

Cookie,不论浏览器发出的是http还是https都会将有效的cookie携带的服务器端。

 

如果  6 个参数设置为true,表示 激活仅安全连接传输,此时浏览器在向服务器发出请求时,如果请求协议为http,就不会向服务器发送这些设置为仅安全连接传输的cookie数据。

 

 

 

此时发出http非安全连接:仅仅not_secure 被传输

 

 

 

HTTPONLY

默认:

浏览器存储的cookie是可以被其他脚本所处理的

 

通过7个参数,设置为HTTPONLY特性,表示仅仅在http请求中使用!

 

 

 

建议,该属性设置为true

 

 

语法

 

Cookie,仅仅支持字符串类型。

 

Cookie,可以写成下标数组形式。

 

 

使用时,被整理成数组而已:

 

 

$_COOKIE仅仅存储是浏览器请求时携带的cookie

当前脚本周期内,设置的cookie,不能在$_COOKIE存在的。

 

 

 

类似于header()setCookie()也不能存在任何的输出。

 

 

以上是关于跟随我在oracle学习php(37)的主要内容,如果未能解决你的问题,请参考以下文章

跟随我在oracle学习php(58)

跟随我在oracle学习php(31)

跟随我在oracle学习php(35)

跟随我在oracle学习php(33)

跟随我在oracle学习php(56)

跟随我在oracle学习php(39)