sessionsession和cookie 是什么?有什么作用?怎么用的?php初学者麻烦介绍的详细一些,谢谢!
session 时间:2021-08-21 阅读:(
)
request和session的区别
request对象和session对象的最大区别是生命周期。
request
request范围较小一些,只是一个请求。
request对象的生命周期是针对一个客户端(说确切点就是一个浏览器应用程序)的一次请求,当请求完毕之后,request里边的内容也将被释放点 。
简单说就是你在页面上的一个操作,request.getParameter()就是从上一个页面中的url、form中获取参数。
但如果一个request涉及多个类,后面还要取参数,可以用request.setAttribute()和request.getAttribute()。
但是当结果输出之后,request就结束了。
session
session可以跨越很多页面。
而session的生命周期也是针对一个客户端,但是却是在别人设置的会话周期内(一般是20-30分钟),session里边的内容将一直存在,即便关闭了这个客户端浏览器 session也不一定会马上释放掉的。
可以理解是客户端同一个IE窗口发出的多个请求。
这之间都可以传递参数,比如很多网站的用户登录都用到了。
比较
request占用资源比较少,安全性也比较高,可是相对来说缺乏持续性。
session则相对来说对资源的消耗会大点,安全性相对来说也会稍微低点,可是它能实现比如会话跟踪技术。
如果可以使用request的情况下,尽量使用request 因为相对于服务器来说资源的消耗还是比较重要的。
在传递页面过程中request传递到下一页面就不能再传递了,而sesison却不如此,即request仅限于2个相邻的页面
每按一个网页上的一个链接就是一个新的request,当服务器返回给浏览器一个response时,request就结束了,此时保存在request中的对象就不存在了,
但是当你用一个浏器连到服务器上时application-server会新开一个session给你,当连接超时或浏览器关闭时session才销毁。
所以说作用的范围是不一样,session也就可以跟踪用户的状态。
session相当于是一个客户端的全局变量,
比如A机与服务器第一次访问时设置session.setAttribute("aaa")="ComputerA".则在A机访问继续访问的任意一个页面都可以取的session.getAttribute("aaa")的值是ComputerA;
request是某一次访问的局域变量,
生命周期只是一次请求。
因此login的变量应该放在session中Cookie 和 session的区别是什么?
我不喜抄,直接说区别吧!
cookie用于交互时存放在客户端,即使用你临时文件夹中不存在cookie,但在你的浏览器进程中会临时保存你的cookie!session是交互时存放在服务端,即使用不保存,也在服务进程中。
如果你对网页有交互,服务器如何在众多请求中能识别你那是曾经的哪一个?这依赖于你传递上来的cookie,即合没有任何其他的的交互,在你浏览器进程中也必须保存诸如sessionID之类的cookie!但这个是临时的,只是为了识别你到底是谁而已。
知道了你是谁,服务器还需要知道该怎么做,那么在服务器进程中必须存在一个sessionID,这个与你请求的相对应,然后根据这个才知道你是谁,该怎么做。
sessionID是你初次请求时由系统生成,随网页流保存在你的浏览器进程中,以便你在使用postback等回传功能时能识别你!要不然,你回传了,另外一个请求却得到你的回传反应,这有点说不过去吧?
sessionid相当于浏览器与服务进程进行了一个简单的约定,可以理解为初次服务器发给你的一个通行号码,以后你与服务器的任何交互都依赖于这个号码!
而其他的需要长期保存的一些信息也在cookie中,如用户名与密码等等,与这个通信的结果是相同的。
也就是说cookie与session同时存在,分别在客户端与服务器!
如果你通过网络嗅探或是其他方式,得到了某一个浏览器正在交互的sessionid以及一些进程中保存的session信息,这个信息在客户端称cookie,这服务器称session。
那么你可以利用这些信息进行攻击。
如,在某台电脑中保存有某用户的user与password通行信息时,你可以将自己的cookie违装成目标的cookie,然后可以进行登陆,这种攻击方式叫cookie攻击!
如果他的这些信息保存在了浏览器进程中,也可以伪造,这种其实也是cookie攻击,但由于其不确定性(你还必须拿到sessionid),这种称为session攻击。
其实说白了,这种方式在服务器中直接使用的session[“user"]之类的方式取得的,所以伪造时连同sessionid一块伪造,所以才被称为session攻击的。
由于多标签浏览器的存在,还可以进行网页交叉攻击!session的概念
session
ses.sion
[`sZ??n; ˋs??n]
《源自拉丁文“坐”的意思》
名词
1 a. (U) (议会、会议的) 开会, (法庭的) 开庭
go into ~
开会,开庭
Congress is now in [out of] ~.
议会现在开会 [闭会] 中
b. (C)聚会,集会
a plenary [an extraordinary] ~
全体大会 [临时会议]
a secret ~
秘密会议
2 (C)会期,开会 [开庭] 期
The Diet will have a long ~.
国会将有长会期
3 (C)
a. (美.苏格兰) (大学的) 学期
a summer ~
暑期讲习 (班) ,暑期研习会,暑期学校
b. (美)授课 (时间)
the morning ~
上午的授课 (时间)
double ~s
二部制授课
c. (英) (大学的) 学年
the ~ 1985-86 1985
年 (九月) 至 1986 年 (六月) 的学年
4 (C)
a. (尤指在一定期间 团体举行的) 活动,讲习会,聚会
a gossip ~
闲聊的聚会
jazz dance ~s
爵士舞研习会
b. (口语) (两人间的) 洽谈,商议
5[~s] (又作 sessions of the peace) (英)治安法庭
→ quarter sessionsSession到底是保存在客户端还是服务器端?
我们一般用的Session可以基于Cookies和Cookieless,前者是将身份标识放在Cookies里面,后者是跟在Url里作为get传递的参数..我们普遍用的前者
第1个问题,你赋值一个Session, 此时这个Session对应的值是存在服务器端,客户端无法直接获取这个值的..每个Session对象都有一个SessionID的属性,表明了该Session的唯一性,客户端会生成1个名称为AspNetSessionId(ASP.NET环境下大概是这个,你可以在FireFox的Cookies列表中查看到)的Cookies,和服务器端的SessionID对应,服务器端只有接受到这个Cookies的值才能判断该浏览者对应于哪个Session..所以你第1个问题就回答完了.
第2个问题,过了超时时间才会失效,服务器端永远不会主动去联系客户端看对方是否超时,只是创建Session对象时会有一个过期时间,超过过期时间对应的客户端还没有访问,则会清空Session对象..至于你说的不同浏览器的问题,暂时没遇到过session和cookie 是什么?有什么作用?怎么用的?php初学者麻烦介绍的详细一些,谢谢!
简单介绍,不复杂说
共性:都是用来存储会话的,
区别: session 是存储在服务器端的,要用程序清除或是过期时间
,而cookie是存储在客户端的(浏览器清除cookie后就不存在了)
racknerd怎么样?racknerd商家最近促销三款美国便宜vps,最低只需要9.49美元,可以选择美国圣何塞、西雅图、纽约和芝加哥机房。RackNerd是一家成立于2019年的美国高性价比服务器商家,主要从事美国和荷兰数据中心的便宜vps、独立服务器销售!支持中文工单、支持支付宝和微信以及PayPal付款购买!点击直达:racknerd官方网站INTEL系列可选机房:加利福尼亚州圣何塞、芝加...
大硬盘服务器、存储服务器、Chia矿机。RackNerd,2019年末成立的商家,主要提供各类KVM VPS主机、独立服务器和站群服务器等。当前RackNerd正在促销旗下几款美国大硬盘服务器,位于洛杉矶multacom数据中心,亚洲优化线路,非常适合存储、数据备份等应用场景,双路e5-2640v2,64G内存,56G SSD系统盘,160T SAS数据盘,流量是每月200T,1Gbps带宽,配5...
ATCLOUD.NET怎么样?ATCLOUD.NET主要提供KVM架构的VPS产品、LXC容器化产品、权威DNS智能解析、域名注册、SSL证书等海外网站建设服务。 其大部分数据中心是由OVH机房提供,其节点包括美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国以及新加坡。 提供超过480Gbps的DDoS高防保护,杜绝DDoS攻击骚扰,比较适合海外建站等业务。官方网站:点击访问ATCLOUD官网活...
session为你推荐
hpcHPC是什么标志传真号码传真号码就是电话号码吗?高级工程师证书考一个高级工程师证要什么学历?校园网络拓扑图帮我设计一个校园网络拓扑结构图显示系统电脑开机显示系统错误怎么办360网络收藏夹360网络收藏夹如何添加到本地收藏网站数据分析报告网站流量统计分析的页面浏览数分析网通玩电信游戏卡怎么办网通怎么在电信玩游戏不卡hadoop大数据平台大数据与Hadoop之间的关系hadoop大数据平台大数据集群?
apache虚拟主机 liquidweb evssl证书 国外空间 一元域名 台湾谷歌网址 元旦促销 智能骨干网 服务器合租 cdn加速是什么 免费cdn 环聊 网页加速 群英网络 网站加速 美国主机侦探 webmin WHMCS studentmain koss耳机 更多