0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

php面试笔记(8):php基础知识、会话控制考点

电子设计 来源:电子设计 作者:电子设计 2020-12-10 18:24 次阅读

本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除。

在上一篇中,冷月为大家分享了文件及目录处理考点,大家一定要根据自己的薄弱点进行查漏补缺,尝试着练习目录的复制和删除函数的编写。今天,冷月为大家分享会话控制考点。

回顾真题

简述cookie和session的区别及各自的工作机制,存储位置等。简述cookie的优缺点。

答案:

COOKIE:

在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是哪个了。cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用cookie只能存储一些小量的数据。

SESSION:

session和cookie的作用有点类似,都是为了存储用户相关的信息。不同的是,cookie是存储在本地浏览器,而session存储在服务器。存储在服务器的数据会更加的安全,不容易被窃取。但存储在服务器也有一定的弊端,就是会占用服务器的资源,但现在服务器已经发展至今,一些session信息还是绰绰有余的。

cookie和session结合使用:

web开发发展至今,cookie和session的使用已经出现了一些非常成熟的方案。在如今的市场或者企业里,一般有两种存储方式:

1、存储在服务端:通过cookie存储一个session_id,然后具体的数据则是保存在session中。如果用户已经登录,则服务器会在cookie中保存一个session_id,下次再次请求的时候,会把该session_id携带上来,服务器根据session_id在session库中获取用户的session数据。就能知道该用户到底是谁,以及之前保存的一些状态信息。这种专业术语叫做server side session。

2、将session数据加密,然后存储在cookie中。这种专业术语叫做client side session。flask采用的就是这种方式,但是也可以替换成其他形式。

考点分析

PHP的会话控制技术

COOKIE:

cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。

操作

创建cookie

setcookie(name, value, expire, path, domain);

读取cookie

PHP 的 $_COOKIE 变量用于取回 cookie 的值。

删除cookie

当删除 cookie 时,您应当使过期日期变更为过去的时间点。

Session:
PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。

操作
在您把用户信息存储到 PHP session 中之前,首先必须启动会话。

session_start() 函数

存储 Session 变量

存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量:

销毁 Session

如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。unset() 函数用于释放指定的 session 变量:

配置Session

session.auto_start

php.ini配置session.auto_start=0默认关闭,session.auto_start 开启就自动完成了session_start()。

session.cookie.lifetime

session.cookie.lifetime 默认是0,即浏览器关闭,session失效;修改这个值的作用是修改sessionid以cookie的形式保留在浏览器的时间长度,也就是说这个值设置一个小时,名为sessionid的cookie就保留在浏览器一个小时,session一个小时后才过期;

垃圾回收

session.gc_maxlifetime; 设置过期session时间,默认1440秒(24分钟)

session.gc_probability/session.gc_divisor; 启动垃圾回收机制的概率(建议值为1/1000——5000)

session_id()

session_id — 获取/设置当前会话 ID

session_name()

session_name — 读取/设置会话名称

一网打尽

session信息的存储方式、如何遍历session

答案:session是一种服务端机制,服务器使用一种类似于散列表的结构来保存信息,在PHP中直接用$_SESSION数组来遍历即可

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PHP
    PHP
    +关注

    关注

    0

    文章

    452

    浏览量

    26509
收藏 人收藏

    评论

    相关推荐

    php是什么

    PHP(\"PHP: Hypertext Preprocessor\",超文本预处理器)是一种广泛应用的开源多用途脚本语言。它是一种服务器端的脚 本语言,通常被嵌入到HTML文档
    发表于 01-30 16:33

    php生成动态网页内容的方法

    。与静态网页相比,动态网页可以根据特定条件生成不同的内容。 PHP的基本概念和语法 PHP是一种服务器端脚本语言,它可以嵌入到HTML中。PHP文件通常以.php扩展名保存,并且在服务
    的头像 发表于 12-04 16:22 479次阅读

    php编程用什么软件

    ),专为PHP开发而设计。它具有智能代码编辑器、错误突出显示、代码自动完成、代码重构等功能,可以大大提高开发效率。此外,它还支持版本控制系统(如Git)和调试PHP代码。 Visual Studio
    的头像 发表于 12-04 16:20 1947次阅读

    php的优点和缺点分别是什么

    PHP是一种广泛应用于Web开发领域的脚本语言,它有着许多独有的优点和缺点。 一、PHP的优点: 1.易于学习和使用:PHP语法简单易懂,类似于C语言,对于初学者来说是一门理想的语言。即使对没有编程
    的头像 发表于 12-04 16:16 1335次阅读

    php的源码是什么开源语言

    PHP的源码是用C语言编写的,是一种开源的服务器端脚本语言。下面是关于PHP源码的详细介绍。 一、PHP简介 PHP(全称:PHP: Hyp
    的头像 发表于 12-04 16:11 919次阅读

    php的mysql无法启动

    MySQL是一种常用的关系型数据库管理系统,而PHP是一种广泛应用于服务器端的脚本语言。在使用PHP开发网站或应用时,经常会碰到MySQL无法启动的问题。本文将详细介绍解决MySQL无法启动的方法
    的头像 发表于 12-04 15:59 869次阅读

    php的源码是开放的吗

    PHP是一种开源的脚本语言,其源代码完全开放并可免费获取、使用和修改。这篇文章将详细介绍PHP的源码开放性。 一、PHP的源码开放性 PHP的源码是以
    的头像 发表于 12-04 15:57 781次阅读

    php的配置文件是什么

    ,配置文件的名称默认为php.ini。该文件通常位于PHP安装目录下的conf文件夹中。当PHP解释器启动时,会自动加载php.ini文件,并根据其中的配置指令来设置运行环境。一些常见
    的头像 发表于 12-04 15:55 1130次阅读

    php的适用范围

    PHP是一种通用的脚本语言,特别适用于Web开发。它可以用来开发动态网页、网站和Web应用程序。本文将详细介绍PHP的适用范围及其优势。 首先,PHP在Web开发中的应用非常广泛。无论是简单的静态
    的头像 发表于 12-04 15:54 321次阅读

    php的特点有哪些

    PHP是一种通用的脚本语言,特点丰富多样。 PHP是一种开源的服务器端脚本语言,主要用于开发Web应用程序。它可以嵌入HTML代码中,也可以作为命令行脚本执行。PHP语言的发展始于上世纪90年代
    的头像 发表于 12-04 15:50 965次阅读

    php是前端还是后端

    PHP(Hypertext Preprocessor)是一种流行的服务器端编程语言,用于开发动态网站和Web应用程序。尽管在某些情况下也可以在前端使用,但PHP主要被广泛应用于后端开发。在这篇文章中
    的头像 发表于 12-04 15:46 1462次阅读

    php运行机制和原理

    PHP是一种在服务器端执行的脚本语言,它被广泛用于开发动态网站。它的运行机制和原理非常重要,因为它决定了PHP脚本如何被解释执行和与服务器进行交互。 PHP的运行机制 PHP脚本的运行
    的头像 发表于 12-04 15:28 592次阅读

    php运行环境的配置步骤

    PHP是一种广泛使用的服务器端脚本语言,被用来开发Web应用程序。为了在计算机上运行PHP代码,我们需要配置PHP运行环境。本文将详细介绍PHP运行环境的配置步骤。 下载
    的头像 发表于 12-04 15:27 776次阅读

    php运行环境本地测试地址是

    PHP运行环境本地测试地址是指在本地计算机上搭建的用于测试和运行PHP代码的的环境地址。搭建该运行环境可以方便开发人员在本地进行开发、调试和测试工作,以提高开发效率和优化代码质量。本文将详细介绍
    的头像 发表于 12-04 15:25 387次阅读

    php运行环境的搭建方法

    搭建PHP运行环境是开发PHP应用程序的基础,本文将详尽、详实、细致地介绍从零开始搭建PHP运行环境的方法,包括选择操作系统、安装Web服务器、安装PHP以及配置相关组件等。 首先,选
    的头像 发表于 12-04 14:56 862次阅读