问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

编程语言php中,session的意思以及详细的介绍(望语言直白些)谢谢啦!

发布网友 发布时间:2022-05-16 19:36

我来回答

4个回答

热心网友 时间:2024-03-23 00:34

Session,中文译为“会话”,它的主要用途在于实现对客户端调用状态的保持。

要理解这个意思,可以考虑以下的情况:

你访问某个网站,然后这个网站是需要以会员身份登录的,那么当你输入用户名、密码正确登录后,这个信息怎么让下面的网页得知这个呢?

我们知道,网页是无状态的,这句话的意思是:如果你访问 a 网页,再访问 b 网页,从实质上说,两个网页之间如果没有特别的手段是完全互不相干的(唯一的联系可能是这两个文件都存在一个服务器上)。

php里的session是超全局数组(php 5以上版本),从这个角度来说,你可以把session看成是保存在内存里,供所有php脚本的访问的数据块。

请参看以下相关资料:

关于session

我们知道,用户访问一个网站时往往需要浏览许多网页。对于一个通过PHP构筑的网站来说,用户在访问的过程中需要执行许多的PHP脚本。然而由于HTTP协议自身的特点,用户每执行一个PHP脚本都需要和Web服务器重新建立连接。

又由于无状态记忆的特点,此次连接无法得到上次连接的状态。这样,用户在一个PHP脚本中对一个变量进行了赋值操作,而在另外一个PHP脚本中却无法得到这个变量的值。例如,用户在负责登录的PHP脚本中设置了$user="wind",却无法在另一个PHP脚本中通过调用$user来获得“wind”这个值。也就是说,在PHP中无法设置全局变量。每个PHP脚本中所定义的变量都是只在这个脚本内有效的局部变量。

Session解决方案,就是要提供在PHP脚本中定义全局变量的方法,使得这个全局变量在同一个Session中对于所有的PHP脚本都有效。上面我们提到了,Session不是一个简单的时间概念,一个Session中还包括了特定的用户和服务器。因此更详细地讲,在一个Session定义的全局变量的作用范围,是指这个Session所对应的用户所访问的所有PHP。

例如A用户通过Session定义了一个全局变量$user=“wind”中,而B用户通过Session定义的全局变量$user=“jane”。那么在A用户所访问的PHP脚本中,$user的值就是wind。

php中的Session与Cookie

  在PHP开发中对比起Cookie,session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度*,本文简单介绍 session 的使用。

  由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容。实际上在服务器端的 Session 文件,PHP 自动修改 session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全得多。

  对于 Cookie 来说,假设我们要验证用户是否登陆,就必须在 Cookie 中保存用户名和密码(可能是 md5 加密后字符串),并在每次请求页面的时候进行验证。如果用户名和密码存储在数据库,每次都要执行一次数据库查询,给数据库造成多余的负担。因为我们并不能只做一次验证。为什么呢?因为客户端 Cookie 中的信息是有可能被修改的。假如你存储 $admin 变量来表示用户是否登陆,$admin 为 true 的时候表示登陆,为 false 的时候表示未登录,在第一次通过验证后将 $admin 等于 true 存储在 Cookie,下次就不用验证了,这样对么?错了,假如有人伪造一个值为 true 的 $admin 变量那不是就立即取的了管理权限么?非常的不安全。

  而 Session 就不同了,Session 是存储在服务器端的,远程用户没办法修改 session 文件的内容,因此我们可以单纯存储一个 $admin 变量来判断是否登陆,首次验证通过后设置 $admin 值为 true,以后判断该值是否为 true,假如不是,转入登陆界面,这样就可以减少很多数据库操作了。而且可以减少每次为了验证 Cookie 而传递密码的不安全性了(session 验证只需要传递一次,假如你没有使用 SSL 安全协议的话)。即使密码进行了 md5 加密,也是很容易被截获的。

  当然使用 session 还有很多优点,比如控制容易,可以按照用户自定义存储等(存储于数据库)。我这里就不多说了。

热心网友 时间:2024-03-23 00:34

session是保存信息用的 ,它保存在服务端,比较安全, 由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容。实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全得多

热心网友 时间:2024-03-23 00:34

session是保存信息用的 ,它保存在服务端,比较安全, 由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容。
session 就相当于cookes 服务器对其设置保存时间 比如你设置session保存30分钟 那么你定义的session变量在这30分钟内不会失效
所以登录的时候可以用来检查是否有这条记录,判断是否登录了

热心网友 时间:2024-03-23 00:35

session 就相当于cookes 服务器对其设置保存时间 比如你设置session保存30分钟 那么你定义的session变量在这30分钟内不会失效,如果超过30分钟不做任何操作,那么就会失效,具体的还真不好给你解释 呵呵
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 面向对象程序设计 下列哪个可以在现有功能(函数)上 添加新的实现,而不需更改调用的代码 10吨双反渗透纯水用多大管径 S是多少斤M呢? s等于多少 为什么女友那特容易插入 而且做时没感觉 怎么回事啊? 广州怎么去澳门雅廉坊大马路46-A号雅廉花园地下B-Duck餐厅店? 淘宝callrinduck是官方店吗 duck is better什么梗 烦恼,焦虑,穷思竭虑,不知道要做什么? 什么奶茶上面有个刻甜小黄鸭 music duck小黄鸭奶茶人气高吗?听说是IP形象代言的 还款以后,捷信就说没收到。没有人给解决 行车记录仪买那个牌子的质量好些 布偶猫容易得什么疾病 布偶猫容易患上哪些疾病呢? 最矮的女明星是谁 盯盯拍mini与70迈对比,哪个牌子更实用一些? 我家的猫今天一整天都无精打采的,连饭都没吃,还吐了,问一下各位这是得了什么病么? 1米6以下的女明星有哪些 70迈midrive+d01与盯盯拍mini哪个好 为什么要 web api 编程 反渗透膜 10公斤什么意思?指的是承受压力么?有多少种? 正常视力s值是多少 海德能反渗透膜PROC10有什么优势? 党纪处分种类有 超好看的日本爱情电影, 让你大呼过瘾 有没有相关的影视百度网盘资源? 关于高清无线传输 Link HD 电脑硬盘检测IND-S3N80S/362G? Matin D28与matinD35怎么选 帅哥,用你的程序连接调用数据库全部成功了。不过,到了SQLbindcol这一步出问题了 高分 翻译一段话成英文 在线等~晚上就会给分 采纳的还会加20分 人工翻译 VC++一个问题 这题用一维和二维数组来计算流体力学里面的差分法,最后输出变量时第一个变量总显示-1.#IND 戴尔ind 15cd 1728b 2014年12月28日到手 新购机两天 HD Ttune pro 带有辰的诗句 含有辰字的诗句 顶格申购需配市值13.5万是什么意思 含辰字的古诗词? 带"辰"字的诗句,多给几个 十句带“辰”字的古诗 带辰的诗句