Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    LOGIN - Aumentare la durata di una sessione

    Ciao a tutti,
    ho realizzato un semplice, ma sembra efficace, sistema di LOGIN basato sulle sessioni e sulla memorizzazione dei dati (user e pass) in un DB MYSQL. Naturalmente la password viene criptata prima della memorizzazione.

    Il sistema sembra funzionare molto bene, ma essendo io un perfezionista mi piacerebbe migliorarlo.

    In particolare ho notato che una volta effettuati il login, se l'utente (restando sempre e comunque loggato) non aggiorna la pagina per circa 5 minuti, scade la sessione e quindi viene effettuato il logout e reindirizzato alla pagina di errore.
    Tutto ciò avviene solo se appunto l'utente è inattivo per 5 minuti.

    Io mi appoggio su un hosting aruba, con server linux e DB MYSQL.

    Credo ch il propblema sia causato dal fatto che nel php è impostato un tempo di 5 minuti per la sessione e pertanto se l'utente loggato resta inattivo per un tempo maggiore la sessione scade!
    Come potete immaginare la cosa è abbastanza fastidiosa poichè se l'utente è impegnato nella scrittura di un testo, 5 minuti passano in fretta e quindi poi quando cliccherà sul tasto invia (per salvare il contenuto inserito) viene effettuato il logout perdendo tutto il lavoro.

    Sullo stesso dominio ho installato, ad esempio un forum phpbb, e tutto ciò non accade e la sessione ha praticamente una durata infinita. Presumo che usa i cooky abinati alle sessioni.

    Come posso risolvere questo inconveniente?
    Immagino che la soluzione è abbastanza banale, ma non essendomi mai posto il problema non so da dove iniziare.

    Qualche consiglio per piacere?

    Ciao

  2. #2
    Strano che la sessione si settata a 5 min.
    Comunque puoi provare con ini_set(). Una cosa del genere:

    ini_set('session.cookie_lifetime' , '3600');

    Così dovrebbe durare un'ora.

    Altrimenti abbina un cookie alla sessione.
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    Quali sono i vantaggi e i svantaggi di usare i cookie?

    Mi puoi fare un esempio di come usare la funzione che mi hai postato?

  4. #4
    La usi esattamente come te l'ho postata. Mettila all'inizio delle tue pagine e vedi se funziona.
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  5. #5
    all'interno del file php.ini modifichi

    session.gc_maxlifetime = 3600

    Per modificare da codice:

    ini_set('session.gc_maxlifetime','3600');

    da mettere in ogni pagina

  6. #6
    opssss
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  7. #7
    Grazie per le risposte effettuerò le prove consigliatemi!

    Avrei un'altra domanda.....

    Molto spesso mi capita di vedere dei form per il login che oltre al campo user e pass hanno un campo del tipo: Collegami in automatico ad ogni visita.
    Un esempio è proprio il forum phpbb3.
    Come si fa a realizzare una cosa del genere?

  8. #8
    probabilmente vanno ad impostare la sessione o il cookie con una scadenza molto lunga...non all'infinito ovviamente.....basta che al checkbox assegni un valore come 9999999999999999999999999999999999999999999, poi dal php controlli se è stato spuntato il checkbox, se è stato spuntato usi quel valore per impostare il tempo della sessione o del cookie, altrimenti esegue un login normaleovvero con il tempo stabilito da te direttamente nel file php

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.