php中cookie与session的区别点总结

yizhihongxing

下面是“php中cookie与session的区别点总结”的详细攻略:

一、概述

  • Cookie和Session都是Web开发中的常用会话技术,用于保存用户的状态信息;
  • Cookie是在客户端(浏览器)保存,在每次HTTP请求中都会发送给服务器;
  • Session是在服务端保存,客户端(浏览器)只保存一个来自服务端的Session ID,每次请求时将Session ID发送给服务器。

二、区别

1. 存储位置不同

  • Cookie存储在客户端(浏览器);
  • Session存储在服务端(Web服务器)。

2. 存储方式不同

  • Cookie以文本文件的方式存储于客户端(浏览器);
  • Session以数组的形式存储于服务端(Web服务器)。

3. 安全性不同

  • Cookie的存储方式比较容易被窃取,因为它保存在客户端(浏览器);
  • Session的存储方式比较安全,因为它保存在服务端(Web服务器),客户端(浏览器)只保存一个会话ID。但是,如果Web服务器被攻击,Session数据仍会被窃取。

4. 原理不同

  • Cookie以HTTP响应头(Set-Cookie)的形式发送给客户端(浏览器),客户端将其保存;
  • Session在客户端(浏览器)第一次请求时生成一个唯一的会话ID,用于标识这个会话,会话ID保存在客户端,后续的请求中都会带有此ID,服务器根据此ID从服务端中获取相应的Session数据。

三、示例

示例1:使用Cookie保存用户浏览器窗口尺寸信息

// 将用户浏览器窗口的尺寸保存在Cookie中
setcookie("user_screen_size", $_COOKIE["user_screen_size"] ?? $_SERVER["HTTP_USER_AGENT"], time()+3600*24*365, "/");

// 获取用户浏览器窗口的尺寸信息
if (isset($_COOKIE["user_screen_size"])) {
    // 获取Cookie中保存的用户浏览器窗口的尺寸信息
    $user_screen_size = $_COOKIE["user_screen_size"];
} else {
    // 获取浏览器发送的User-Agent头,用于推断用户的浏览器窗口尺寸
    $user_agent = $_SERVER["HTTP_USER_AGENT"];
    // 推断用户的浏览器窗口尺寸
    // ...
}

示例2:使用Session检查用户是否登录

// 开启Session
session_start();

// 验证用户输入的用户名和密码是否正确
if ($username == $correct_username && $password == $correct_password) {
    $_SESSION["logged_in"] = true;
    // 用户名和密码正确,跳转到登录后的页面
    header("location: welcome.php");
} else {
    // 用户名和密码不正确,显示错误信息
    echo "用户名或密码不正确";
}

// 在其他页面中检查用户是否登录
session_start();
if (isset($_SESSION["logged_in"]) && $_SESSION["logged_in"] == true) {
    // 用户已登录
} else {
    // 用户未登录
}

以上就是关于“php中cookie与session的区别点总结”的完整攻略了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php中cookie与session的区别点总结 - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • PHP代码实现表单数据验证类

    下面是PHP代码实现表单数据验证类的完整攻略: 1. 确定验证规则 在创建表单数据验证类之前,首先需要确定需要验证哪些字段,以及需要进行哪些规则的验证。常见的表单数据验证规则包括: 必填字段验证:判断某些字段是否为空或者未填写; 数据格式验证:如email格式验证、电话号码格式验证、身份证号码格式验证、密码复杂度验证等; 数据长度验证:如用户名不能超过20个…

    PHP 2023年5月27日
    00
  • 微信有哪些好用的小程序?19款好用的微信小程序

    微信有哪些好用的小程序? 微信小程序是在微信中使用的轻量级应用程序,拥有和原生应用类似的使用体验,具有启动快、不需要安装、占用空间小的特点。 以下是19款好用的微信小程序: 1. 微信运动 微信运动是一款记录步数、计算运动距离和消耗卡路里的小程序,可以与微信好友一起比赛步数,增强锻炼的趣味性。 2. 青柠茶馆·图书馆 青柠茶馆·图书馆是一个在线的读书社区小程…

    PHP 2023年5月30日
    00
  • PHP实现的敏感词过滤方法示例

    下面我会给出详细的“PHP实现的敏感词过滤方法示例”的完整攻略。 1. 敏感词过滤的背景 在网站内容审核中,为了规范和清爽的内容,我们通常需要过滤敏感词。 敏感词可以是禁止词、敏感词、政治词汇、色情词汇等,过滤敏感词不仅有助于提高内容的质量和规范性,也有助于网站的健康发展。 2. 敏感词过滤的实现方式 敏感词过滤的实现方式通常有两种:一种是基于字典的过滤方式…

    PHP 2023年5月26日
    00
  • php为字符串前后添加指定数量字符的方法

    可以使用PHP内置的函数str_pad()实现为字符串前后添加指定数量字符的方法。下面给出详细的攻略: 函数定义 str_pad ( string $input , int $pad_length , string $pad_string = " " , int $pad_type = STR_PAD_RIGHT ) : string 参…

    PHP 2023年5月26日
    00
  • php计算十二星座的函数代码

    针对“php计算十二星座的函数代码”的问题,我可以提供以下完整攻略: 1. 星座计算原理 首先,我们需要了解一下星座计算的原理。一般来说,我们通过给定的出生日期,可以得到一个人的星座信息。具体计算方法如下: 首先,将出生日期按照年、月、日分别进行处理,得到对应的数值。 然后,根据星座的划分规则,计算出对应的起始日期和结束日期。 最后,将出生日期与起始日期和结…

    PHP 2023年5月26日
    00
  • 如何使用php判断所处服务器操作系统的类型

    要使用PHP判断所处服务器操作系统的类型,一般可以使用PHP自带的PHP_OS常量来获取当前服务器的操作系统类型,也可以借助外部指令来获取相关信息。 下面是具体的步骤: 使用PHP_OS常量 可以通过以下代码来获取当前服务器操作系统的类型: <?php echo ‘PHP_OS: ‘ . PHP_OS . ‘<br>’; ?> 其中P…

    PHP 2023年5月24日
    00
  • 详解PHP7开启OPcache和Swoole性能的提升对比

    下面是详解 “详解PHP7开启OPcache和Swoole性能的提升对比” 的完整攻略: 简介 在本篇攻略中,我们将通过开启OPcache和Swoole来提升PHP7的性能。OPcache是一个在PHP7中自带的缓存系统,可以将编译后的PHP代码存储在内存中,避免每次都进行编译,从而提高PHP程序的运行效率。Swoole是一个基于PHP开发的异步、高性能、可…

    PHP 2023年5月24日
    00
  • 基于PHP的登录和注册的功能的实现

    下面是关于基于PHP的登录和注册功能实现的攻略: 一、设计数据库表 首先需要设计基本的用户信息表,可以选择使用MySQL等数据库,例如一个名为user的表,包含以下字段: CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `…

    PHP 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部