php中cookie与session的区别点总结

下面是“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. 准备工作 在编写读取文本文件代码之前,需要先准备好文本文件。可以使用任何文本编辑器创建文本文件,例如Notepad++、Sublime Text等。在创建文本文件时需要注意以下几点: 文本文件的编码应当为UTF-8,这是保证中文字符能够被正常读入的前提。 每行文本末尾需要使用回车符和换…

    PHP 2023年5月26日
    00
  • php文件压缩之PHPZip类用法实例

    对于“php文件压缩之PHPZip类用法实例”的完整攻略,我将按照以下的内容来阐述:1. 功能简介2. 环境要求3. 安装方法4. 应用示例5. 总结 1. 功能简介 PHPZip是一个PHP类库,可以用于在PHP程序中压缩和解压zip格式的文件。PHPZip通过简单易用的API,为开发人员提供了完善的压缩和解压支持。 2. 环境要求 要使用PHPZip对z…

    PHP 2023年5月26日
    00
  • php测试程序运行速度和页面执行速度的代码

    在PHP中,我们可以使用一些工具和技术来测试程序运行速度和页面执行速度。下面是一些常用的方法: 1. 使用microtime()函数测试程序运行速度 microtime()函数可以用来测试程序的运行速度。它返回当前时间的微秒数,可以用来计算程序的执行时间。 以下是一个使用microtime()函数测试程序运行速度的示例代码: <?php $start_…

    PHP 2023年5月12日
    00
  • php需登录的文件上传管理系统

    下面是关于“php需登录的文件上传管理系统”完整攻略的讲解。 什么是php需登录的文件上传管理系统? 首先,我们需要了解“php需登录的文件上传管理系统”是什么。这是一个基于php语言开发的系统,需要用户登录才能使用其中的文件上传和管理功能。用户可以上传文件,对已上传的文件进行管理(包括预览、下载、删除等操作)。 系统搭建流程 接下来,我将详细讲解如何搭建这…

    PHP 2023年5月24日
    00
  • PHP中基本符号及使用方法

    当介绍PHP编程语言时,候需要了解它的一些基础符号和使用方法。在本篇文章中,我们将详细介绍PHP中基本符号及使用方法的完整攻略,包括变量、字符串、数组等。 变量 在PHP中,变量使用$符号加上变量名称来声明。变量可以存储各种类型的数据,包括整数、浮点数、字符串、布尔值等。变量的值可以在脚本的执行过程中被多次更改。 下面是一个简单的示例,展示如何声明和使用变量…

    PHP 2023年5月25日
    00
  • Codeigniter校验ip地址的方法

    下面是 Codeigniter 校验 IP 地址的方法攻略: 目录 准备工作 获取 IP 地址 判断 IP 地址合法性 示例说明 准备工作 在 Codeigniter 中使用 IP 地址校验方法,需要先加载安全辅助函数,可以在控制器中使用以下代码来加载: $this->load->helper(‘security’); 获取 IP 地址 Code…

    PHP 2023年5月23日
    00
  • PHP在安全方面的另类应用

    PHP 作为一种脚本语言,本身具有很高的安全风险,但是在一些特殊的场景下,也可以利用其特性来增加系统的安全性。以下是 PHP 在安全方面的一些应用: 应用一:过滤、验证和转义输入数据 由于 PHP 可以轻松从客户端收集数据,并将数据添加到 Web 页面,这也使得 PHP 特别容易受到广泛的攻击,如SQL注入、XSS等攻击。为了减少这些攻击,我们必须在处理数据…

    PHP 2023年5月30日
    00
  • 如何写php守护进程(Daemon)

    下面是完整攻略: 准备工作 在开始写PHP守护进程之前,你需要先了解一些必要的基础知识: 守护进程是什么:一个在系统后台运行并保持持续活动状态的程序,常用于服务器或应用的自动化运维,能够长时间运行并响应外部事件。 Linux进程基础知识:了解如何查看进程、启动进程、停止进程、监控进程等基础知识。 PHP基础知识:熟悉PHP的基本语法和函数库。 守护进程原理 …

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