资讯专栏INFORMATION COLUMN

浅谈session及其安全

Clect / 1950人阅读

摘要:什么是在网络应用中被称为会话控制。现在大多数站点采用基于的管理方式用户登陆成功后,设置一个唯一的标识本次会话,基于这个标识进行用户授权。防止注入过滤用户输入每次请求做其他验证中取加密后的用户,中取用户并加密,比较二者,不同时拦截住。

什么是Session?

Session在网络应用中被称为“会话控制”。

Session存储在服务器端。

用户A访问网站B,A登录网站后,服务器会创建一个Session来保存用户状态和相关信息。每个Session对应一个标识符SessionID来标识用户身份。SessionID一般是由服务器以加密的方式写到cookie中的,这样用户A登录后,访问网站B中不同的网页时请求中会带上SessionID来标识他的身份,以此实现一次登录,访问全网站。(现在大多数站点采用基于cookie的session管理方式:用户登陆成功后,设置一个唯一的cookie标识本次会话,基于这个标识进行用户授权。只要请求中带有这个标识,都认为是登录态。)

Session劫持
只要请求中带有这个标识,都认为是登录态

这就危险了,一旦你的标识被别人获取,你的Session就被别人劫持了,他就可以用你的身份为所欲为。

最基本的cookie窃取方式:xss漏洞

攻击者最简单获取他人cookie信息的方法是XSS攻击,想办法注入js脚本到被攻击者客户端并执行,通过执行这个js脚本,攻击者在被攻击者登录后获得了他的SessionID,通过在自己客户端修改sessionId获得了被攻击者的身份,后果不堪设想。。。

防御方法

cookie设置为HttpOnly,js脚本就无法再获取cookie,也就无法得到你的会话标识。

防止xss注入:过滤用户输入

每次请求做其他验证:cookie中取加密后的用户id,session中取用户id并加密,比较二者,不同时拦截住。(个人理解)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/94315.html

相关文章

  • 浅谈session及其安全

    摘要:什么是在网络应用中被称为会话控制。现在大多数站点采用基于的管理方式用户登陆成功后,设置一个唯一的标识本次会话,基于这个标识进行用户授权。防止注入过滤用户输入每次请求做其他验证中取加密后的用户,中取用户并加密,比较二者,不同时拦截住。 什么是Session? Session在网络应用中被称为会话控制。 Session存储在服务器端。 用户A访问网站B,A登录网站后,服务器会创建一个Se...

    ssshooter 评论0 收藏0
  • 浅谈session及其安全

    摘要:什么是在网络应用中被称为会话控制。现在大多数站点采用基于的管理方式用户登陆成功后,设置一个唯一的标识本次会话,基于这个标识进行用户授权。防止注入过滤用户输入每次请求做其他验证中取加密后的用户,中取用户并加密,比较二者,不同时拦截住。 什么是Session? Session在网络应用中被称为会话控制。 Session存储在服务器端。 用户A访问网站B,A登录网站后,服务器会创建一个Se...

    Michael_Ding 评论0 收藏0
  • 浅谈cookie,session和localStorage,sessionStorage的区别

    摘要:保持状态保存在浏览器端,保存在服务器端存储的大小单个保存的数据不能超过大小没有限制。的目的是克服由所带来的一些限制,当数据需要被严格控制在客户端时,不需要持续的将数据发回服务器。的生命周期是仅在当前会话下有效。 写在前面 既然是浅谈,就不会详细从底层原理解释这几个的区别,就简单地聊一下,这几个的区别,优缺点,应用场景 cookie和session 浏览器的缓存机制提供了可以将用户数据存...

    frolc 评论0 收藏0
  • 浅谈DOMContentLoaded事件及其封装方法

    摘要:事件虽然不支持,但它支持事件,该事件的目的是提供与文档或元素的加载状态有关的信息。事件可以用于检测是否加载完毕,当时,表示加载完成。封装事件以下,是封装事件从而达到良好的兼容性的一个简单的代码实现。 我们在开发时,经常需要检测页面是否加载完毕,以确保脚本安全运行,下面我们就来浅谈一下检测页面是否加载完毕的那些事件们。 1. onload 事件 在页面的所有资源加载完成时,window对...

    waruqi 评论0 收藏0
  • 浅谈DOMContentLoaded事件及其封装方法

    摘要:事件虽然不支持,但它支持事件,该事件的目的是提供与文档或元素的加载状态有关的信息。事件可以用于检测是否加载完毕,当时,表示加载完成。封装事件以下,是封装事件从而达到良好的兼容性的一个简单的代码实现。 我们在开发时,经常需要检测页面是否加载完毕,以确保脚本安全运行,下面我们就来浅谈一下检测页面是否加载完毕的那些事件们。 1. onload 事件 在页面的所有资源加载完成时,window对...

    leon 评论0 收藏0

发表评论

0条评论

Clect

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<