php cookie及session

1.会话控制概括

1)http协议的缺陷

  无状态,就是无记忆,不能让同一浏览器和服务器进行多次数据交换时,产生业务的连续性,

2)什么是会话控制

  会话控制就是解决http无记忆缺陷的,能够==将数据持久化的保存在客户端(浏览器)或者服务端==,从而让浏览器和服务器尽心==进行多次数据交换时产生连续性.

3)会话控制的分类

  分为两种:cookie(客户端)和session(服务器端)

2.cookie技术

1)什么是cookil?

cookil是将数据持久化存储到客户端的一种技术.

网站可以将数据写在浏览器中.一个网站最多能在一个浏览器写20个coolie.

一个浏览器能够设置的总cookie数最多为300个,每个不能超过4kb.

cookie既能保存在文件中,也能保存在内容中.

2)设置/读取cookie

=>1) 设置cookie

  setcookie(var1 , var2, var3);

  var1: cookie的名称

  var2: 名称对应的值, 可选参数

  var3: cookie的有效期, 可选参数

=>2)读取coolie值

  使用php的超全局变量 $_COOKIE进行读取

=>3)cookie有效期

  setcookie函数的参数3可以控制cookie有效期

  

参数3设置为-1 或者 不设置,关闭浏览器即失效
参数3设置为 time()+秒数,则在当前时间点的多少秒之后失效

=>4)cookie的有效范围

  setcookie函数还有参数4、5,可以用来控制cookie的有效访问,但是一般不用

=>5)cookie删除

  setcookie函数第二个参数设置为null,就可以删除cookie

3.session技术

 1)session介绍   

    因为cookie是保存在客户端的数据,不够安全,所以出现了session。session会将数据保存到服务器端(保存在文件、内存服务器或数据表中),安全性就可以得到保证。

  2)设置/读取session

    php使用session时,首先要使用session_start()函数来开启session.

    $_SESSION 超全局变量就能设置和读取session中的内容

  3)session的作用范围

    在当前网站的任何一个页面设置过session,则该网站的所有页面都能得到给session的数据 

4)session的有效期

 浏览器关闭时,session消失

5) 删除session

  unset($_SESSION['name']   //删除单个session

  session_destroy();                 //删除所有session

4.session和cookie总结

  

cookie小结:

1) 将数据保存在客户端,安全性不好,但是可以保存的数据量较大。

2) 设置cookie使用 setcookie(var1, var2, var3)

 
var1: cookie名称
var2: 名称对应的值
var3: 有效期。 可选参数,如果不设置该值或者设置为-1,浏览器关闭则cookie消失;time() + 3600

  

3) 使用$_COOKIE 预定义数组来读取cookie

4) cookie的有效范围: 当前目录及子目录;上级目录无效

5) 删除cookie: setcookie(‘name’, null);

 session小结

1) 将数据保存在服务器端,安全性高,但是不能保存大量的数据。一般来讲session当中保存的都是用户信息。

2) 使用session时,首先要使用 session_start函数开启session

3) 设置和读取session时,都是用$_SESSION['name'] = 'zs'; $_SESSION['name'];

4) session的有效范围,在一个域名下设置session,在整个域名范围内都有效

5) session有效期: 关闭浏览器,session就消失

6) 删除session

      unset($_SESSION[‘name’]);    //删除单个
      sessionsession_destroy();    //删除所有session

猜你喜欢

转载自www.cnblogs.com/wsjaizlp/p/9852778.html