登录界面的“记住我”安全设计

-Java学习教程-记住我功能

不成熟的设计

  一开始,我是从字面意思来进行设计的,即user勾选“记住我”后,客户端对pwd进行加密并保存在本地,然后下一次登录的时候客户端将pwd解密成明文,再submit。这是我最初想到的简单设计,即“记住我”=“保存口令”。
  要说安全性,我这个设计完全在前端实现,后端是没有参与的,我的认知是勾选了pwd会加密存储,不勾选不存储,一次性登录验证而已。切记:前端不能存储pwd明文,密文也是不行的

安全的设计

“记住我”是维持cookie的登录状态,需要后端参与的,即Set-Cookie设置到期时间,前端在有效期内,可以一直携带cookie进行登录,后端要验证cookie是否有效。