zoukankan      html  css  js  c++  java
  • dedecms5.7实现单设备登录

    今天客户提了这个需求

    好久没看织梦的代码了,正好看看文件

    1 织梦登录和验证相关都在  include/memberlogin.class.php  文件

    2 思路整理   每次登陆会更新 登录时间,那么登录验证的时候把登录时间给验证下就行

    3 修改文件

    IsLogin() 这个函数的代码替换

        /**
         *  验证用户是否已经登录
         *
         * @return    bool
         */
        function IsLogin()
        {
            //验证登录时间 是否和表里面的一样
            //$isLogin=
            //$this->M_LoginTime
            global $dsql;
            $res=$dsql->GetOne("Select * From `#@__member` where mid='{$this->M_ID}' ");
     
            if($this->M_ID > 0 && $this->M_LoginTime==$res['logintime']) return TRUE;
            //if($this->M_ID > 0) return TRUE;
            else return FALSE;
        }

    4  这样就会保证  每次登陆后  其他的登录失效

    第209行 会每2小时自动更新下登录时间  这里可以设置改完24小时   或者更长

    替换代码如下

     //间隔24小时更新一次用户登录时间
                    if(time() - $this->M_LoginTime > 3600*24)
                    {
                        $dsql->ExecuteNoneQuery("update `#@__member` set logintime='".time()."',loginip='".GetIP()."' where mid='".$this->fields['mid']."';");
                        PutCookie("DedeLoginTime",time(),$this->M_KeepTime);
                    }
  • 相关阅读:
    数据库连接池大小
    java的关闭钩子(Shutdown Hook)
    为线程池中的每个线程设置UncaughtExceptionHandler
    java 线程的interrupt和sleep、wait
    中断
    NIO
    VMware 安装 VMware Tools 工具
    php 雪花算法
    python 执行系统文件
    php curl 获取响应头
  • 原文地址:https://www.cnblogs.com/baker95935/p/14107721.html
Copyright © 2011-2022 走看看