Home > Backend Development > PHP Tutorial > 求解,PHP实现单点登陆?

求解,PHP实现单点登陆?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-23 14:19:47
Original
982 people have browsed it

现有一站点,要求会员实现单点登陆,就像QQ一样,同一个帐号只能登陆一次。
求高手指点,给个思路,要考虑到非正常退出(也就是直接X掉浏览器)的情况。


回复讨论(解决方案)

有人研究过这个问题,也就是跨session通信的问题。PHP不建议这样使用session,所以不让这么办,原因很多。
但是实现是不复杂的。用数据库配合来实现就是了。

也就是说通过判断session id

也就是说通过判断session id
望详解,说下步骤

做过类似的, 
用户登录的时候, 将当前IP放到数据库里面。

然后,用户每一步操作,都对比当前的IP和数据库里面的IP。 

如果不一样, 说明当前的这个用户已经在其他地方登录了。 

也就是不能同时有2个ID一样的用户用这个系统

使用nosql数据库,例如redis, set($user,$ip) 设置超时时间5分钟,每次访问页面如果ip一致刷新该数据。如果ip不一致,拒绝


也就是说通过判断session id
望详解,说下步骤
就是把4楼的ip改成session id
$ses_id = session_id(); 

根据用户id轮询查询数据库。

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template