> 백엔드 개발 > PHP 튜토리얼 > 求解,PHP实现单点登陆?

求解,PHP实现单点登陆?

WBOY
풀어 주다: 2016-06-23 14:19:47
원래의
949명이 탐색했습니다.

现有一站点,要求会员实现单点登陆,就像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轮询查询数据库。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿