Завершение Сеанса из-за Бездействия PHP

Я ищу осуществлять завершение из-за бездействия, мой login это у меня есть следующего способа:

<?php

    session_start();

    include 'Functions.php';

    $ERRORES = '';

    if(isset($_POST['login-submit']))
    {
        $USUARIO = filter_var(strtolower($_POST['username']), FILTER_SANITIZE_STRING);
        $PASSWORD = $_POST['password'];
        $PASSWORD = hash('sha512', $PASSWORD);
        $IP = $_SERVER['REMOTE_ADDR'];

        if (fnValidaAccesoUsuario($USUARIO, $PASSWORD) == 0)
        {
            $ERRORES .= '<li>Usuario y/o contraseña no válidos!</li>';
        }
        else
        {
            fnIniciaSesion($USUARIO);
            fnCargaAccesoWeb($USUARIO, $IP);
        }
    }
    if(isset($_POST['register-submit']))
    {
        $usuario = filter_var(strtolower($_POST['username']), FILTER_SANITIZE_STRING);
        $password = $_POST['password'];
        $password2 = $_POST['confirm-password'];
        $ip = $_SERVER['REMOTE_ADDR'];

        $ERRORES = '';

        if (empty($usuario) or empty($password) or empty($password2))
        {
            $ERRORES .= "<li>Favor de llenar los datos $usuario completamentessss!</li>";
        }
        if (fnValidaExisteUsuario($usuario) > 0)
        {
            $ERRORES .= '<li>El usuario ya existe!</li>';
        }
        if ($password <> $password2)
        {
            $ERRORES .= '<li>Las contraseñas no son iguales!</li>';
        }
        if (strlen($password) < 6)
        {
            $ERRORES .= '<li>La contraseña debe tener al menos 6 caracteres!</li>';
        }
        if ($ERRORES == '')
        {
            $password = hash('sha512', $password);
            fnCreaUsuarioNuevo($usuario, $password, $ip);
            include 'register.sendmail.php';
            header('Location: register.php');
        }
    }

    include 'login.view.php';
?>

И мое начало сеанса в main - следующего способа:

<?php

    session_start();

    if (isset($_SESSION['usuario']))
    {
        $PAGINA_SESION = 'main.view.php';
        require $PAGINA_SESION;

        $_SESSION['ultimoAcceso'] = date('Y-n-j H:i:s');
        $fechaGuardada = $_SESSION['ultimoAcceso']; 
        $ahora = date('Y-m-d H:i:s'); 
        $tiempo_transcurrido = $ahora - $fechaGuardada; 

        //comparamos el tiempo transcurrido 
        if($tiempo_transcurrido >= 10) 
        { 
            //900 si pasaron 30 minutos o más 
            session_destroy(); // destruyo la sesión 
            echo "<script>window.parent.location.href='login.php';</script>"; //envío al usuario a la pag. de autenticación 
            //sino, actualizo la fecha de la sesión 
        }
        else
        { 
            $_SESSION['ultimoAcceso'] = $ahora; 
        } 
    }
    else
    {
        header('Location: login.php');

    }
?>

Я не добиваюсь, чтобы оно функционировало, у кого-то есть какой-то комментарий. Спасибо

Я сделал изменения с подсказкой и еще, - не добиваясь этого, мой main сейчас остался следующего способа:

<?php

    session_start();

    if (isset($_SESSION['usuario']))
    {
        $_SESSION['logged_in'] = true; //set you've logged in
        $_SESSION['last_activity'] = time(); //your last activity was now, having logged in.
        $expire_time = 60; //expire time in seconds: three hours (you must change this)
        $PAGINA_SESION = 'main.view.php';
        require $PAGINA_SESION;

        if( $_SESSION['last_activity'] < time() - $expire_time)
        {   //have we expired?
            //redirect to logout.php
            echo 'session expired';
            die();
            header('Location: login.php'); //change yoursite.com to the name of you site!!
        }
        else
        { //if we haven't expired:
            $_SESSION['last_activity'] = time(); //this was the moment of last activity.
            echo 'you are uptodate';
        }
    }
     else
     {
        header('Location: login.php');

    }
?>
3
задан 07.03.2019, 11:38
1 ответ

Я добился того, чего требуют, прикрепляю cГіdigo в опоре ко всем них demГЎs, что estГ©n ища одну soluciГіn сходно. cГіdigo estГЎ функционируя, и я довожу до сведения, что он убивает ее sesiГіn, он не изменяет экран automГЎticamente и despuГ©s установленного времени, когда пользователь между в другой раздел этого сайта, это redirigirГЎ в login.

<?php
    session_start();

    if (isset(

Я добился того, чего требуют, прикрепляю cГіdigo в опоре ко всем них demГЎs, что estГ©n ища одну soluciГіn сходно. cГіdigo estГЎ функционируя, и я довожу до сведения, что он убивает ее sesiГіn, он не изменяет экран automГЎticamente и despuГ©s установленного времени, когда пользователь между в другой раздел этого сайта, это redirigirГЎ в login.

[110]SESSION['usuario'])) { $PAGINA_SESION = 'main.view.php'; require $PAGINA_SESION; $inactive = 15; //TIEMPO EN SEGUNDOS if(isset(

Я добился того, чего требуют, прикрепляю cГіdigo в опоре ко всем них demГЎs, что estГ©n ища одну soluciГіn сходно. cГіdigo estГЎ функционируя, и я довожу до сведения, что он убивает ее sesiГіn, он не изменяет экран automГЎticamente и despuГ©s установленного времени, когда пользователь между в другой раздел этого сайта, это redirigirГЎ в login.

[110]SESSION['timeout'])) { $sessionTTL = time() -

Я добился того, чего требуют, прикрепляю cГіdigo в опоре ко всем них demГЎs, что estГ©n ища одну soluciГіn сходно. cГіdigo estГЎ функционируя, и я довожу до сведения, что он убивает ее sesiГіn, он не изменяет экран automГЎticamente и despuГ©s установленного времени, когда пользователь между в другой раздел этого сайта, это redirigirГЎ в login.

[110]SESSION['timeout']; if($sessionTTL > $inactive) { session_destroy(); ?> <script>windows.location.href = "/login.php";</script> <?php } }

Я добился того, чего требуют, прикрепляю cГіdigo в опоре ко всем них demГЎs, что estГ©n ища одну soluciГіn сходно. cГіdigo estГЎ функционируя, и я довожу до сведения, что он убивает ее sesiГіn, он не изменяет экран automГЎticamente и despuГ©s установленного времени, когда пользователь между в другой раздел этого сайта, это redirigirГЎ в login.

[110]SESSION['timeout'] = time (); } else { header('Location: login.php'); } ?>
1
ответ дан 19.11.2019, 22:27

Теги

Похожие вопросы