Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [PHP] Scadenza pagina

  1. #1

    [PHP] Scadenza pagina

    Salve a tutti,

    avrei bisogno di implementare una scandenza di inattività, come posso farlo in questo codice?

    Codice PHP:
    // Funzione verivica se si é loggati

    function verifyAuth() {
    if(isset(
    $_SESSION['auth']) && $_SESSION['auth'] == 1){
        } else {
        
    header("Location; login.php?action=LoginFail");
        exit();
        }
        } 
    Grazie Michel
    PHP THE BEST

  2. #2
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    ciao michel saluti a bellinzona gia che sei in ticino ;-)

    cosa intendi per inattività? dici che un utente loggato in sessione che non si muove da diciamo cosi per ca. 30 min. che deve venir sloggato per questioni di sicurezza?

  3. #3
    Heheh si saluto inviato!!!

    Si vorrei fare in modo che se si dimentica per esempio la pagina aperta dopo 30 min scade la sessione e lo rimanda alla pagina di login!!

    Ora non saprei da dove cominciare mi puoi aiutare??

    Grazie Michel
    PHP THE BEST

  4. #4
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    allora innanzitutto sarebbe opportuno salvare, sempre che tu ce l'abbia, un timstamp e la session_id nel db, poi fai un confronto del time depositato nel db con il time attuale.
    dal db chiami il time corrispondente alla sessione in questione:

    $sql = "SELECT time FROM $tabelle_db WHERE user = '$_SESSION[user]'";

    e lo confronti, se è piu grande di 30 min... mandi l'utente in logout con un header, se invece e piu piccolo di 30 min fai semplicemente un update del time e risalvi il time attuale nel db.

    Codice PHP:
    $sql "SELECT time FROM $tabelle_db WHERE user = '$_SESSION[user]'";
        
    $result mysql_query($sql);
        while(
    $row mysql_fetch_assoc($result))
        {
            
    $time_alt=$row['time'];
        }
        
    $diff $time $time_alt;
        if(
    $diff >= $timeout//manda in logout
        
    {
            
    //spiacente tempo scaduto...";
            
    header("location:$redirect?logout=1&user={$_SESSION['user']}");
        }
        else 
    //altrimenti sessione ancora valida aggiorna il time
        
    {
            
    $query "UPDATE $tabelle_db SET time='$time' session='$_SESSION[id]' WHERE user = '$_SESSION[user]'";    
            
    $dummy mysql_query($query) or die (mysql_error());    
        } 

  5. #5
    Grazie pe rla risposta appena avro piu tempo provo il tutto!!

    Thx


    Ciao Michel
    PHP THE BEST

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.