Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613

    [mysql] indici sessioni e chiavi primarie

    Salve a tutti.

    Devo creare una tabella che contenga degli accessi temporanei, ovvero delle sessioni di lavoro.

    Pensavo di mettere come chiave primaria un id_sessione che contenga l'MD5(TIMESTAMP())
    Ho adottato questa soluzione perchè alla fine della sessione il record va cancellato e non voglio che la tabella si riempi a causa di un autoicrement.

    Le domande sono le seguenti

    1) Ho fatto bene? Esiste un'altra soluzione?

    2) E' sufficiente il MD5(TIMESTAMP()) per rendere la chiave univoca?

    3) Visto che devo utilizzare id_sessione per fare diversi JOIN, credete che il fatto che il campo sia un varchar(32) dia problemi?

    Altre soluzioni sono ben accette

    Grazie
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Non parlo di sessione aperta son session_start() di php... ma di sessione di lavoro in generale..

    Un esempio è il tempo di permanenza in un sito, registro sul db il tuo ingresso e quando esci registro l'uscita, faccio i miei calcoli e cancello il record... chiaro?

    MD5 perchè crea una hash della stringa che gli passo che è univoco... così come deve essere il mio id... timestamp perchè credo sia sufficiente quella stringa per non creare ambiguità.
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    up
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    La sessione di lavoro "in generale" con cosa la identifichi se non con la sessione php?
    Il timestamp cambia una volta al secondo, se si presentano in due nello stesso secondo per te sono la stessa persona

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Si ok, per il timestamp sono daccordo, c'ho pensato ma aspettavo che qualcuno rispondesse cmq. Grazie.

    Per quel che riguarda la sessione di lavoro però mettiamola così, il mio sistema non prevede l'uso di id di sessione che scadono.
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Per l'id credo di poter risolvere così

    Codice PHP:
    // Penso che sia sufficiente per evitare anche più di due accessi contemporanei
    $id_sessione md5(time().mt_rand()); 
    Per il campo di mysql id_sessione => CHAR(32);
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

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.