登录的顶号功能实现

Posted batsing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了登录的顶号功能实现相关的知识,希望对你有一定的参考价值。

顶号功能的基本实现原理

1、建议修改php/JAVA的配置,使sessionid保存到memcache;

2、每次登录时,查询表所有该user_id的sessionid;

3、删除memcache或文件中第2步查到的sessionid,即可注销其他设备上的登录凭证;

4、每次登录时,记录登录者user_id和session_id;

对于不设顶号的账户,则无需进行234步骤;

 

    //顶号功能,登录成功时调用
    protected function do_1login(){
//        var_dump( $_SESSION );
        if( $_SESSION[‘padmin‘][‘is_1login‘] ){
            $uid = $_SESSION[‘padmin‘][‘uid‘];
            //干掉旧的sessionid
            $old_arr = Model_Adminsession::instance()->fetch_all([[‘uid‘,‘=‘,$uid]]);
//            var_dump($old_arr);
            if( PRODUCTION_ENV ){    //生产环境,用的memcache保存sessionid
                $mem = new Memcache;
                $ok = $mem->connect(‘127.0.0.1‘, 11211);
                foreach($old_arr as $line){
//                    var_dump( $line[‘session‘] );
                    $mem->delete( $line[‘session‘] );
                }unset($line);
                $mem->close();
            }else{
                $sess_dir = session_save_path();
//                var_dump($sess_dir);
                foreach($old_arr as $line){
                    @unlink( $sess_dir.‘/sess_‘.$line[‘session‘] );    //删除session缓存
                }unset($line);
            }
            Model_Adminsession::instance()->delete([[‘uid‘,‘=‘,$uid]]);
            
            //记录最新的sessionid
            $session = session_id();
            $ok = Model_Adminsession::instance()->insert([‘uid‘=>$uid, ‘session‘=>$session]);
//            var_dump($ok);
        }
    }

 

以上是关于登录的顶号功能实现的主要内容,如果未能解决你的问题,请参考以下文章

Lesson Learned

从片段调用 Google Play 游戏服务

web前端 用户退出登录方案(思路)

IOS开发-OC学习-常用功能代码片段整理

《java精品毕设》基于javaweb宠物领养平台管理系统(源码+毕设论文+sql):主要实现:个人中心,信息修改,填写领养信息,交流论坛,新闻,寄养信息,公告,宠物领养信息,我的寄养信息等(代码片段

html PHP代码片段: - AJAX基本示例:此代码演示了使用PHP和JavaScript实现的基本AJAX功能。