php – Problem mit der Pünktlichkeit der TP3.2-Benutzeranmeldung
天蓬老师
天蓬老师 2017-06-15 09:22:30
0
1
1181

Bei der Verwendung von tp3.2 für die Backend-Verwaltung ist bei der Benutzeranmeldung ein Problem aufgetreten.
1 Nach der Anmeldung des Backend-Benutzers ist der Benutzer-Anmeldestatus immer gültig existiert, und nur wenn der Benutzer auf „Abmelden“ klickt, kann der Ablauf des Benutzers realisiert werden.
Die standardmäßige Sitzungsgültigkeitsdauer von PHP beträgt 1440 Sekunden (24 Minuten). , die aktuelle Sitzung wird recycelt und ist ungültig

2. So nutzen Sie tp, um das Problem der Aktualität der Benutzeranmeldung zu erkennen: Wenn der Benutzer nicht funktioniert, läuft es nach einer festgelegten Zeit automatisch ab.

Mein Anmeldeteilcode:

        if(IS_POST){
            $uname=I('post.uname');
            $password=md5(I('post.password'));
            $res=M('manager')->where("uname='{$uname}'")->find();
            if(is_null($res)) {
                $this->error("用户名不存在");
                return false;
            }
            if($res['uname']==$uname&&$res['password']==$password){
                $_SESSION['uname']=$res['uname'];
                $_SESSION['expire']=time()+600;
                $this->success('登录成功',U('Rbac/Index/index'));
                exit();
            }
            $this->error("登录失败");
        }

Die Idee, die ich mir bei Baidu angesehen habe, besteht darin, $_Session['expire'] zu verwenden, aber ich weiß nicht, wo ich diesen Code einfügen soll. Wo soll ich ihn platzieren?

        //        设置用户登录session登录限制时间
        if(isset($_SESSION['expire'])){
            if($_SESSION['expire']<time()){
                unset($_SESSION['expire']);
                $this->error('登录过期,请重新登录','Rbac/Login/login');
            }else{
//                刷新时间戳
                $_SESSION['expire']=time()+600;
            }
        }
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

Antworte allen(1)
左手右手慢动作

原理就是:设置一个超时时长,如:600,登录时记录好时间起点,每次页面刷新,都要检查是否超时(其实逻辑是:是否登录-是否超时-是否有权限),如果超时,则提示已“登录超时请重新登录”并跳转到登录页,未超时,说明用户仍处于活动状态,则重置计时起点 $_SESSION['expire']=time() + 600

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage