小人初学建站对于登录和身份验证保持登录状态做了一个模块,但不知安全隐患否,求火力支援!

aw-xiaoze 发布于 2016/07/30 12:46
阅读 246
收藏 1

这里就不具体发出代码,主要是想知道自己的思路或流程有没有问题.我把自己的思路流程用word文档做了一个图.求大虾大神给予教育.

我的思路是这样的.有session的时候,就基本判断用户是登录了,只要在比对服务器端记录的用户ip地址和浏览器信息合并的MD5值来判断用户是否合法就够.剩下的就是session因为服务器各种原因丢失的就找同时记录下的cookie.

当session不在,但是cookie存在的时候.就去判断cookie是否合法.首先用登录时间来判断cookie是否过期.如果正确的情况.就到数据库中取到这个cookie记录的id的密码和cookie记录的登录时间来重新制作一个电子签名.用这个电子签名和cookie的电子签名比对.如果成功就后端静默执行登录让用户成为登录状态.

这里的关键点就是电子签名!cookie的电子签名是包含了用户的识别id(防止明文的ID篡改).ip地址,浏览器信息,用规则缺省了的MD5用户密码(就是一个不完整MD5,应该不怕被暴力破解了吧).登录时间(怕cookie的明文登录时间被篡改)

小人是前端人员,初学后端,用的php+mysql.只有一点点javascript和FLASH AS的编程基础.不知道上面的有没有什么巨大安全隐患.求拍砖来构建信心!

加载中
0
OSC首席过客
OSC首席过客
SESSION不在了,就重新登陆。。。还判断COOKIE。。。。。
aw-xiaoze
aw-xiaoze
有的服务器很水,session丢失很快的.以前我们公司就遇到过一个这样的服务器.session几分钟可能就丢失了.编辑一个篇文章弄完了提交的时候提示未登录.就是所谓的几分钟登录一次.很恶心的.cookie是为了避免这种体验的存在.
0
三岁
session 可以设置过期时间
返回顶部
顶部