cassiehuang / study

学习笔记整理
2 stars 0 forks source link

cookie && session #24

Open cassiehuang opened 5 years ago

cassiehuang commented 5 years ago

服务器端设置cookie

session

cookie的生命周期

cassiehuang commented 5 years ago

cookie, session

  1. 用户输入的表单,传到服务器,服务器生成一个session id,作为对用户身份的认证
  2. session id 通过response头部信息传给客户端
  3. 客户端接收到带有session id的response,自动将其存入cookie
  4. 没有发起请求时,将cookie放入request头部
    • 因为session id相当于用户身份的验证,所有,应尽量保证session id不被盗取,可以使用httpOnly来设置cookie,阻止客户端通过js来读取session id
    • 即使设置了httpOnly,仍然有可能被盗取session id,所以,必须在服务器设置过期时间
    • 即使session id已经被盗取了,但是密码仍然保密,在使用更加密的操作时,可以要求必须输入密码的方式,才能验证通过。
    • 用户名和密码表单验证时,信息不会被保存下来,下次请求无法确认用户身份,所以才使用cookie,如果直接将用户名和密码存入cookie,只要读取cookie,用户信息就全被泄漏了,安全性极低
    • 表单验证使用HTTPS的方式,可以保证通信上的安全,使用了报文的加密处理,认证证书,以及完整性检查,避免在通信过程中被窃听,被伪装,被篡改的危险