cookie+session

会话控制

会话指的是客户端和服务端之间的交互过程,控制可以理解为客户端在和服务端进行交互的时候进行的控制。

为什么使用会话控制?

 http协议是一个超文本无状态协议,没有一种内建机制来维护客户端和服务端间的对话,所以使用会话控制来解决这一问题。

(-)cookie

Cookie的概念cookie是一种存储在客户端浏览器里用来跟踪和识别用户上 网信息的机制。简单的来说,cookie就是web服务器暂时存储在用户硬盘上的一 个文本文件,并随后被web浏览器读取。当用户再次访问该web网站的时候,网 站通过读取cookie文件记录这位访客的特定信息(如上次访问的位置、花费的时 间、用户名和密码等)从而做出迅速响应。

 Cookie 的功能:记录访客的某些信息(例如用户名、三天免登陆),在多页面 之间传递变量,将所有查看的Internet页存储在cookie 的临时文件夹里,可以提高 浏览的速度。

Cookie的使用步骤

1)设置cookiesetcookie(‘cookie的名字’,’cookie的值’,过期时间,路径)

2)读取cookie$_COOKIE[‘cookie的名字’]

3)删除cookie

setcookie(“要删除的cookie的名字”,””,time()-1)

浏览器手动删除

Cookie的分类:分为会话cookie和持久cookie,会话cookie就是没有给cookie设置过期时间,当关闭浏览器或者关闭电脑cookie就会自动消失;持久cookie就是给cookie设置了过期时间,只要过期时间没到,关闭浏览器和关闭电脑cookie都不会消失,只有过期时间到了才会消失

session

  Session的定义session是一种存储服务器端用来跟踪和识别用户信息的会话机制。当启动一个session会话时,会生成一个随机且唯一的session_id,也就是session文件名,此时,session_id存储在本地的cookie里。当关闭页面时此id会自动注销,重新登录此页面,会再次生成一个随机的id

session的使用

   使用步骤:

     1)开启sessionsession_start(); 此函数前面不能有任何输出

     2)给session赋值:$_SESSION[’]=

     3)使用session$变量名=$_SESSION[’]

 4)删除session

   删除单个sessionunset($_SESSION[’])

   删除多个session$_SESSON=array();

   结束当前所有sessionsession_destroy()

sessioncookie的区别 

session存储在服务器端,cookie存储在客户端,session相对于安全,cookie不安全,sessioncookie都可以设置过期时间,都可以跨页面传值,都可以实现会话功能。Session开启后,有一个sessionid存储在cookie里,如果客户端禁止了cookiesessionidurl地址栏的方式进行传输。

、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
   考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
   考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

cookie 和session 的联系:
session是通过cookie来工作的
session和cookie之间是通过$_COOKIE['PHPSESSID']来联系的,通过$_COOKIE['PHPSESSID']可以知道session的id,从而获取到其他的信息。
在购物网站中通常将用户加入购物车的商品联通session_id记录到数据库中,当用户再次访问是,通过sessionid就可以查找到用户上次加入购物车的商品。因为sessionid是唯一的,记录到数据库中就可以根据这个查找了。

sessioncookie实现用户登录的会话控制

 Cookie实现登陆控制setcookie(”,””,”过期时间”),设置完成后,在每一个登陆后才能访问的页面加入:if(empty($_COOKIE[’])){ die(“未登录,不能操作!”)},如果用户选择了七天免登陆,在登陆界面加入:

if(!empty($_COOKIE[‘’])){ header(“跳转”)}

  Session实现登陆控制session_set_cookie_params(1*60);session_start();  $_SESSION[’]=;,设置完成后,在每一个登陆后才能访问的页面加入:if(empty($_SESSION[’])){ die(“未登录,不能操作!”)},如果用户选择了七天免登陆,在登陆界面加入:if(!empty($_SESSION[’])){ header(“跳转”)}







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CookieSession 是常用的认证机制,用于在 Web 应用中验证用户身份和保持用户会话状态。 Cookie 是一种存储在用户浏览器中的小型文本文件。当用户首次访问网站时,服务器可以在响应中设置一个或多个 Cookie,以便在用户的浏览器中存储一些数据。浏览器会在后续的请求中自动将这些 Cookie 包含在请求头中发送给服务器。服务器可以读取这些 Cookie,从而识别和跟踪用户。常见的用途包括实现"记住我"功能和跟踪用户偏好设置。 Session 则是服务器端存储用户状态信息的一种机制。当用户首次访问网站时,服务器会为该用户创建一个唯一的会话标识符(Session ID),并将该标识符存储在服务器上。同时,服务器也会在用户的浏览器中设置一个名为 sessionID 的 Cookie,用于在后续的请求中传递该会话标识符。通过这种方式,服务器可以根据 Session ID 辨别不同的用户,并在会话期间存储和读取用户的状态信息。常见的用途包括用户登录认证和购物车功能。 在认证过程中,通常会将用户的登录信息存储在 Session 中。当用户成功登录时,服务器会创建一个包含用户信息Session 对象,并将对应的 Session ID 作为 Cookie 发送给客户端。客户端在后续的请求中会携带该 Cookie,服务器通过解析 Cookie 中的 Session ID,从而获取用户的登录状态和相关信息。 综上所述,CookieSession 是配合使用的认证机制。Cookie 用于在客户端存储一些数据,而 Session 则在服务器端存储用户状态信息。通过结合使用 CookieSession,可以实现有效的用户认证和会话管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值