栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

WEB安全(六)Session的使用、Session与Cookie的区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

WEB安全(六)Session的使用、Session与Cookie的区别

Session是会话,是用在服务端记录用户信息的数据结构。

Session的使用 1、获取Session对象
	HttpSession s = request.getSession(boolean flag);

注:HttpSession是一个接口。

当flag为true时,根据请求中的SessionId查找对应Session对象,不存在则返回新建Session对象。

当flag为false时,同样根据请求中的SessionId查找对应Session对象,不存在则返回null。

2、常用方法

绑定数据:

    session.setAttribute(String name,Object obj);

根据绑定名获得绑定值:

    Object session.getAttribute(String name);

解除绑定:

    session.removeAttribute(String name);
3、Session的自动销毁

Tomcat 服务器默认的Session超时时间是30分钟

可以利用web.xml设置超时时间单位是分钟,设置为0表示不销毁。

 20 
Session 与 cookie 的区别

解决HTTP协议自身无状态的方式有cookie和session。二者都能记录状态,前者是将状态数据保存在客户端,后者则保存在服务端。

Session的工作原理

session的基本原理是服务端为每一个session维护一份会话信息数据,而客户端和服务端依靠一个全局唯一的标识来访问会话信息数据。用户访问web应用时,服务端程序决定何时创建session,创建session可以概括为三个步骤:

1、生成全局唯一标识符(sessionid);

2、开辟数据存储空间。一般会在内存中创建相应的数据结构,但这种情况下,系统一旦掉电,所有的会话数据就会丢失,如果是电子商务网站,这种事故会造成严重的后果。不过也可以写到文件里甚至存储在数据库中,这样虽然会增加I/O开销,但session可以实现某种程度的持久化,而且更有利于session的共享;

3、将session的全局唯一标示符发送给客户端。

cookie的工作原理

无论使用何种服务端技术,只要发送回的HTTP响应中包含如下形式的头,则视为服务器要求设置一个cookie:

Set-cookie:name=name;expires=date;path=path;domain=domain

支持cookie的浏览器都会对此作出反应,即创建cookie文件并保存(也可能是内存cookie),用户以后在每次发出请求时,浏览器都要判断当前所有的cookie中有没有没失效(根据expires属性判断)并且匹配了path属性的cookie信息,如果有的话,会以下面的形式加入到请求头中发回服务端:

cookie: name=“zj”; Path="/linkage"

服务端的动态脚本会对其进行分析,并做出相应的处理,当然也可以选择直接忽略。

需要注意的是,出于安全性的考虑,cookie可以被浏览器禁用。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/734927.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号