信息通常都是存储在服务器端的,客户端的cookie存一个key,服务器端通过这个key查找对应的缓存找到之前的登录信息。
轻量的方案还有一个做法是将登录信息存储到cookie中,不过这些信息不应该包含敏感数据,比如用户密码,因为cookie是明文的。
同时为了防止有人伪造,一般会再对这些信息做一次摘要加密算法,然后也放到cookie中,服务器通过判断摘要加密串来识别信息是否是服务器写入的。
当然你的加密算法肯定需要保密,一般常用的办法是 将登录信息序列化,然后加上一个字符串(需要严格保密,别人如果知道这个就可以伪造cookie了),再做MD5或SHA。
举个例子,用户登录成功后,你可以将用户ID,昵称,头像,邮箱,电话,性别等信息放在cookie中,为了防止别人伪造cookie信息,你将上诉的信息序列化成字符串,然后加上一个secreKey,例如:'&%1^88123*!@14',然后做MD5,也放在cookie中,这样每次服务器拿到cookie后,用同样的算法再计算一次,与cookie中之前的前次计算值匹配下即可知道是否是真的服务器设置的了。
如果为了更加安全,secreKey可以根据不同的用户数据产生,或者设置过期时间,就不复述了。