前端设置cookie 如何用cookie实现自动登录?
如何用cookie实现自动登录?
谢谢。
“保持登录状态”表示服务器需要一些数据来标识发起当前请求的用户。例如,登录时,后端生成会话ID并将其设置为cookie。所有后续的请求浏览器都会带来cookie,然后服务器从cookie中获取会话ID并查询用户信息。
因此,保持登录的关键不是cookie,而是通过cookie保存和传输的会话ID。它的本质是能够获取用户信息的数据。除了cookie之外,HTTP请求头通常用于传输,例如标准授权,或者自定义的,例如x-auth-sessionid。但是,这个请求头不会像cookie一样由浏览器自动携带,需要手动处理。
例如,登录时,服务器返回JWT格式的访问令牌,前端将其保存到localstorage。对于后续请求,将构造一个类似于
authorization:bearer<access token>
的请求头。服务器从授权中获取令牌,解码并查询相应的用户。最终结果与cookie相同。
假设我拿到了别的用户的淘宝网站的cookie,我放到自己的http请求里,我就可以冒充这个用户吗?
理论上,如果你得到一个cookie,你就可以模拟一个用户。根据以下具体分析:
此“身份密码”由服务器生成并放置在客户端浏览器的cookie中。服务器将有一个与之对应的会话,会话ID也存储在cookie中。
如上所述,服务器的会话ID存储在客户端的cookie中,以便其他用户在cookie中获得会话ID后,可以模拟原始用户启动请求。
这似乎不合理
!但是,这是cookies和会话的机制。我们说过当cookie被禁用后,session可能无法正常工作,但是我们可以通过get将sessionid传递给服务器,因此如果sessionid以明文形式传输,则存在安全风险。
由于cookie存储在客户机中并且不安全,因此当我们将用户数据存储在cookie中时,我们将对其进行加密。例如,它将验证用户的IP、终端身份等,即使其他用户伪造Cookie,也无法验证。
前端设置cookie axios请求携带cookie 前端获取cookie
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。