为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我在A地登录某网站,别人在B地打开该网站,上面显示的是我的账号登录着?

为什么我在A地登录某网站,别人在B地打开该网站,上面显示的是我的账号登录着?

慕后森 2019-03-29 22:08:59
如题:为什么我在一个地方(比如北京)用一个账号登录后,其他人在另一个地方(比如山西)登录该网站后,直接显示我的账号登录着?比如,我在北京登录了segmentfault,其他人在山西打开segmentfault官网,看到网站就已经处于登录状态了,显示的就是我的账号,或许是我还未点击退出按钮或许是直接关闭浏览器,又或者其他。目前怀疑登录时勾选了自动登录或者未通过点击退出按钮造成的,但现在还没测试出问题所在。望遇到过此类问题的童鞋给出思路或解决方向。
查看完整描述

2 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

因为服务器用session保存着你的登录状态。
在session过期或你主动注销之前,服务器会一直认为你处于登录状态,并在页面上显示登录用户的组件中展示。
好像是我理解错题目了……
浏览器具有cookies功能。为了避免重复登录动作,网站通常会在登录时将登录信息记录到cookies中,这样关闭页面下次打开时可以使用这个cookies,省去了登录操作。
登录时一般会有选项让用户选择保持登录多久,在这个有效期内,同个浏览器内都会自动登录该帐号,即使你关闭过浏览器。
如果不想要自动登录,可以在登录时选择不自动登录,可以手动登出,也可以清理cookies。
一般跨浏览器(跨内核)的cookies是不通用的。但仍然有可能强制同步,例如解雇IE扩展之类的。
一般跨机器同步是不常见的,但不少浏览器仍然有同步cookies的扩展或功能。
排除自己登录过、cookies同步等各种情况时,依然出现了自动登录,这基本都是网站设计的问题了。一般cookies不直接储存登录前信息(例如用户名密码,哪怕是加密过的),而是储存登录后信息,一般叫令牌(token)。设计不良的系统可能出现令牌冲突或者读取识别错误,导致登录他人帐号。MS这样的栗子出现过不少……比如12306神马的……
                            
查看完整回答
反对 回复 2019-03-29
  • 2 回答
  • 0 关注
  • 659 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信