介绍:本文将讲解Web会话原理及XSS的攻击原理(xsser测试平台有兴趣可自行搭建体验,搜索xsser.me即可)详细概念教程可在Sangfor学习平台获取临时免费课程进行学习。
挂个链接:深信服产业教育中心
一.常见Web会话管理方式(三种)
以下三种方式建议通过理解过程来区分
Session
1.基于服务端的Session管理,指的是用户第一次访问网站/应用时(客户端),服务器便会创建对象,在Session有效期内(一般session都会设置有效期)用户再次访问浏览器(即通过客户端发送请求给服务器),Session有效时间便会刷新
注:Session在一开始创建的时候并没有管理功能,这个由服务端创建的session是基于用户分配的唯一的一个Session ID,并通过Cookie返回给用户。
举个例子(拿账号登录举例,第一次访问并登录后获取到Session,可以理解为在Session里放了一个登录凭证,然后在一定时间内访问就会重新刷新登陆凭证的有效期,而在一定时间内未访问或者退出登录,登录凭证都会失效。)
Session优缺点:
1.优点是简化web开发和安全性好,前者可以理解为Session变量使用较之简便,后者即时效性和Session ID以及登陆凭证的双重保险作用。
2.缺点是由于Session是创建并存储在服务器中的,若访问的用户过多,则占用内存也会随之增加,并且应用在使用服务器集群部署的时候,如何实现服务器之间的Session共享也是个麻烦的问题,且当一个Session被共享给多个应用的时候,不同域之间的应用的Session共享也是个问题(跨域名使用,不同应用之间的主机配置不同等等问题)。
Cookie-based
由于Session的管理方式会增加架构的复杂性和服务器负担,所以把登录凭证放到Cookie里(这样也不用生成Session ID),直接存储在客户端里,即用户第一次访问并登录成功时就会把凭证写到Cookie里面,后续就和上述一样,访问的时候直接验证登陆凭证是否有效就行。
流程:用户发起登录请求后,服务器收到数据信息(账号密码),对应是否满足登陆条件,