ホームページ >バックエンド開発 >PHPの問題 >PHP ログインセッションがタイムアウトした場合の対処方法

PHP ログインセッションがタイムアウトした場合の対処方法

coldplay.xixi
coldplay.xixiオリジナル
2020-08-24 10:30:422845ブラウズ

PHP ログイン タイムアウト セッションの解決策: まず、セッションを使用してログイン時のログイン時間を記録し、ページを開いたときにセッションが存在しないかどうかを判断して、ログインに戻ります。ページ。セッションが存在する場合は、ページの読み込み時間を追加し、ログイン時間を比較します。タイムアウトを超えている場合は、セッションを削除します。

PHP ログインセッションがタイムアウトした場合の対処方法

[関連する学習の推奨事項: php プログラミング (ビデオ)]

php ログイン タイムアウトセッションの解決策:

php ログイン タイムアウト セッションの問題、原則は次のとおりです:

1. ログイン時にセッションを使用してログイン時間を記録します

$_SESSION['time']=time();

2.ページが開かれます セッションが存在しないかどうかを確認し、ログイン ページに戻ります。セッションが存在する場合は、ページの読み込み時間とログイン時間を比較し、時間がタイムアウトを超えている場合は、セッションを削除します。タイムアウト未満の場合は、ログイン時間のセッション値を更新してください。

ログイン コード:

public function login(){
        if($_POST){
            $where['username']=$_POST['username'];
            $where['password']=md5("php100".$_POST['password']);
            $users=M('users')->where($where)->find();
            if($users){
                $_SESSION['id']=$users['id'];
                $_SESSION['user_shell']=md5($users['username'].$users['password']);
                $_SESSION['time']=time();
                $this->redirect('Index/index');
            }else{
                echo "";
            }
        }else{
            $this->display();
        }
    }

パブリック コントローラー コンストラクター コード:

public function _initialize()
    {
        if(isset($_SESSION['user_shell'])){
            if(time()-$_SESSION['time']>60){
                unset($_SESSION['user_shell']);
                $url=U('Login/login');
                Header("Location:$url");
            }else{
                $_SESSION['time']=time();
            }
        }else{
            $url=U('Login/login');
            Header("Location:$url");
        }
    }

[関連する学習の推奨事項: php グラフィック チュートリアル]

以上がPHP ログインセッションがタイムアウトした場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。