php判断自动登录??

要实现3个功能。1、一个用户不允许同时登录,就是同一个用户在A浏览器登录后,如果又使用B浏览器登录,那么会挤掉A浏览器登录状态,A浏览器就需要重新登录。用session_... 要实现3个功能。
1、一个用户不允许同时登录,就是同一个用户在A浏览器登录后,如果又使用B浏览器登录,那么会挤掉A浏览器登录状态,A浏览器就需要重新登录。用session_id已实现。
2、5天内自动登录,这个涉及到判断登录状态。安全性较高的是使用cookie加密判断,但如果使用这种方法,因为cookie是保存在文件夹的,不同浏览器都可获取cookie值,那么第一个功能实现不了。

有什么办法能同时实现两个功能??
展开
 我来答
jorsh
2014-02-11 · TA获得超过268个赞
知道小有建树答主
回答量:1103
采纳率:18%
帮助的人:215万
展开全部
1问题实现:新建的数据库用来记录用户登陆信息,关键记录该用户的session_id的值,如果用户用不同的浏览器或不同的电脑登陆他的session_id是不同的。
2问题实现:获取用户的cookie信息,比如用户名与上次登陆的SESSION_id的值,然后查上面1中记录用户登陆情况,然后比较SESSION_id然后判断用户是否有效,然后再判断该用户是否存在数据库中,用户加密的密码是否正确,然后再判断与上次登陆时间是否差5天,为了用户的安全认证可以加一个指纹认证等,防止伪造cookie信息等。
追问
如果浏览器设置了“退出时自动清理浏览记录”,例如IE,那么关闭浏览器时所有cookie都会被清除,这时又该如何判断与上次登录时间是否差5天??
追答
cookie如果被清除了,就表示要重新登陆啊,没有cookie还搞个吊啊。
莘赡05V
2014-02-11 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
你存储cookie的时候记录登录时的时间戳,然后每次打开页面检测改时间戳+5天的时间是否有效,有效的话直接使用cookie里的信息即可,无效则让他重新登录。至于你说的跨浏览器这个功能,貌似不同浏览器存储cookie的位置不一样,所以你重新打开浏览器肯定提示你去登录的,所以要么存入数据库,设置一个时间有效性来判断,如你又其他办法请给予回答,互相学习下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
巴里贾斯巴达
2014-02-11
知道答主
回答量:6
采纳率:0%
帮助的人:8195
展开全部
实现第二个功能时使用session入库的手段
实现第一个则使用,也就是说 产生session是一个入库一个保存到浏览器
那么 实现功能一 验证本地的session 实现功能二 验证数据库中的session 使它们互不影响
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wudipaopao
2014-02-11 · TA获得超过797个赞
知道小有建树答主
回答量:1486
采纳率:0%
帮助的人:795万
展开全部
用数据库纪录你登录时的时间戳 和session id 然后判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上官元恒zsd
2014-02-11 · TA获得超过1770个赞
知道小有建树答主
回答量:3799
采纳率:28%
帮助的人:1165万
展开全部
谁说不同浏览器都可获取cookie值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式