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

    sessioni contemporaneamente

    ciao,

    ho un programma gestionale creato da me a cui possono accedere più utenti, il problema sta che se da più pc loggo con lo stesso utente non si disconnette nell'altro pc e non mi avverte che l'utente è gia loggato

    praticamente lo stesso utente potrebbe loggarsi all'infinito e lavorare da tutte le postazioni contemporaneamente

    c'è un modo per risolvere?

  2. #2
    Puoi creare un token, ovvero un codice univoco di sessione, da memorizzare in un cookie.

    Il flusso è questo:

    - quando l'utente si logga, crei un codice univoco e lo memorizzi in una tabella "sessioni_attive" (sessione_id, utente_id)

    - quando l'utente loggato prova ad eseguire un'operazione, verifichi che il token memorizzato nel cookie sia lo stesso della tabella.
    Se non lo è, significa che l'utente è loggato da un altro pc e quindi gli mandi il messaggio che lo invita a riloggarsi (contestualmente puoi eseguire un logout completo tanto a quel punto non ti serve più che sia "loggato").

    Ovviamente, quando inserisci il token nella tabella delle sessioni attive, devi cancellare l'eventuale precedente token associato a quell'utente, altrimenti risulterebbero attivi tutti.

  3. #3
    per codice di sessione univoco c'è una funzione delle sessioni o devo creare io a piacimento un algoritmo?

    per la memorizzazione nelle tabelle parli di mysql?

    io avevo capito che le sessioni facevano questa cosa automaticamente

  4. #4
    Originariamente inviato da phpneo
    per codice di sessione univoco c'è una funzione delle sessioni o devo creare io a piacimento un algoritmo?

    per la memorizzazione nelle tabelle parli di mysql?

    io avevo capito che le sessioni facevano questa cosa automaticamente
    uniqid dovrebbe essere sufficiente.

    una sessione php è basata in parte sui cookie e in parte sul server. Per una comunicazione come quella che serve a te (disconnettere da una parte, connettere dall'altra) ti serve uno strato superiore come un database su cui poggiare l'informazione del token attivo.

  5. #5
    come funziona uniqid?

    e poi non ho capito come faccio a controllare per ogni tente se è loggato o meno in una lista che poi andrà a ricordare anche sessioni di mesi prima?

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.