请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

session的key保存在cookie里,那么别人那道了cookie里的session key,是不是就可以模仿用户登录了呢?

如果说用户登录信息不存放在cookie里是为了安全,怕别人模仿,那么用session,给用户发一个session key来记录,别人一样可以获取到session key在模仿登录,在服务端,无法辨别是谁拿着key来登录,只要有key的人就可以登录,原理应该是这样理解吧,那么怎么保证session一定安全呢?

正在回答 回答被采纳积分+3

1回答

bobby 2018-10-18 16:46:41

session和token一样,所有的网站都是这样的,只要拿到session就可以模仿你登录,如果这个服务端能破解的话,那所有的爬虫模拟登录将全部失效, 所以没有绝对的安全,一般为了解决这个问题会给session加一个过期时间,第二种方式就是将session和ip绑定,只有某个ip的用户拿着这个session才能访问,但是这种对于动态ip的用户来说体验很差,所以一般都只是加一个过期时间,过期了这个session就没用了

1 回复 有任何疑惑可以回复我~
  • 提问者 CarlShen #1
    如果有这种情况,我已经模仿到了session,正好这个session又没过去,那么是不是我就已用户的身份登录了呢?那么这种方法好像无法完全避免。session的过期时间多长时间比较合理呢?
    回复 有任何疑惑可以回复我~ 2018-10-25 13:51:22
  • bobby 回复 提问者 CarlShen #2
    是的,拿到了这个token就证明他可以仿冒你了,过期时间这个问题具体看你的系统数据安全级别有多高了,比如有些要求高的只要退出了当前浏览器就得重新登录
    回复 有任何疑惑可以回复我~ 2018-10-26 18:08:22
  • 这样一来,也就是说,每隔一段时间(session的有效期),如果还想登录,用户就需要再重新输入一次密码,已更新存在服务器端的session。
    
    服务器拿到session后,又会给客户端返回一个session有效期内的cookie。
    回复 有任何疑惑可以回复我~ 2018-11-19 14:01:56
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信