感觉效率和安全性都不是很好啊?有什么更好的方案吗?

本人比较菜,目前使用的方案是

1.在客户端COOKIES中保存用户ID和一个加密码(规则只有我知道)
2.如果程序检测到客户端保存的COOKIES ID。就去跟数据库验证加密码,如果一致则返回对应用户的登录信息,否则返回FALSE

1.用户访问每个页面都要去跟数据库验证一遍
2.加密码虽然规则很复杂,但是保存在客户端依然存在被破解的可能性


翻过高山走不出你
浏览 118回答 3
3回答

缥缈止盈

cookie中怎么能够保存密码呢?你的做法已经可以了,不过有如下几点建议:1. 客户端可以保存两种数据,一种是原数据(比如user_id),一种是对所有原数据的签名(你所说的加密码)2. 原数据的保存可以看具体情况保存原字符串或者可逆加密算法加密后的字符串3. 针对所有的原数据的签名的算法,最好是不可逆的4. 服务器端只要获取到原数据,重新计算签名,比如和cookie中的签名是否一致即可。最简单的cookie的样子:A=uid=123&sign=xxxxxxxxcookie生成方法:sign = md5(secure_key + uid);cookie = 'uid=' + uid + '&sign=' + signsecure_key 是一个私有的串,谁也不能告诉哦。cookie校验的方法:获取到uid和sign之后sign == md5(secure_key + uid)当然如果觉得md5不可靠的话,可以选择更好的算法。

白衣非少年

一般这样的不是用$_SESSION变量的么,COOKIES肯定不能保存密码额。我一般是这样用的,用$_SESSION保存登陆状态,用$_COOKIES保存一个用户ID什么的。

噜噜哒

只在session中存放UID行不行?每个页面判断是否存在UID,该UID只有在登录页面才会被添加进session,在登出的时候清空该session
打开App,查看更多内容
随时随地看视频慕课网APP