Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di newlink
    Registrato dal
    Oct 2011
    Messaggi
    206

    Mantenere connesso utente

    Ciao a tutti, ho un problema nel mio sito che malgrado i miei sforzi non riesco a risolvere. Il problema riguarda il log-in degli utenti.
    Praticamente, ho creato un sistema di log-in in due parti, dopo l'autenticazione viene salvato del db un codice alfanumerico corrispondente all'utente, il suo id e il time() della connessione. Contemperante viene creato un cookie con gli stessi dati. All'apertura di ogni pagina e tramite javascript ogni 90 secondi viene caricata una funzione php che confronta i codici dell'utente incrementa il time e cancella gli utente non più connessi.

    Il problema sta nel fatto che ogni tanto oppure all'apertura di più pagine oppure quando si verificano dei problemi nell'apertura della pagina (viene interrotta ecc.) si perde la sincronizzazione tra db e cookie e l'utente viene disconnesso.

    Dato che la cosa è molto fastidiosa la vorrei risolvere ma non mi vengono idee sul come....

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, un consiglio su un alternativa che posso darti è quella di utilizzare le variabili di sessione invece dei cookie.

  3. #3
    Utente di HTML.it L'avatar di newlink
    Registrato dal
    Oct 2011
    Messaggi
    206
    Ci ho provato più e più volte, ma per qualche strano motivo una sessione creata nel sottodominio A non è visibile nel sottodominio B avevo aperto un post in questo forum, ma non eravamo riusciti a risolvere il problema...

  4. #4
    Utente di HTML.it L'avatar di newlink
    Registrato dal
    Oct 2011
    Messaggi
    206
    Mi ricollego a questa discussione per fare due domande:
    è possibile vedere quanto manca alla scadenza di un cookie? (tramite php)
    è possibile aggiungere tempo ad una cookie senza passare per il setcookie?
    Grazie

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Visto che le sessioni php necessitano di cookie e' quasi scontato che tali cookies di sessioni non siano validi per 2 sottodomini differenti in quanto proprio se li imposti come path "/" il persorso inzia dall'url del sottodomio a ed e' differente dal sottodominio B

    Potresti "cheatare" e fare in modo di generare 2 cookies a creazione della sessione uno valido nel sottodominio A e l'altro nel sottodominio D.
    QUindi avresti lo stesso cookie replicato e le sessioni potrebbere venire intercettate correttamente.

    Nel cookie inserisci 2 dati fondamentali 1 un token generato con algoritmo di hashing che rappresenti alcuni dati fondamentali dello user (ad esempio email e login).
    Quando carichi il cookie per controllare se l'utente e' autorizzato esegui una query sul db utenti cercando quell'hash ( rif: http://dev.mysql.com/doc/refman/5.5/...functions.html )

    "quindi select * from users where md5( concat(email,login) ) = '".$token."' " ;

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Originariamente inviato da newlink
    Mi ricollego a questa discussione per fare due domande:
    è possibile vedere quanto manca alla scadenza di un cookie? (tramite php)
    è possibile aggiungere tempo ad una cookie senza passare per il setcookie?
    Grazie
    dai un occhio qua : http://www.php.net/manual/en/function.setcookie.php

  7. #7
    Utente di HTML.it L'avatar di newlink
    Registrato dal
    Oct 2011
    Messaggi
    206
    Ho risolto il problema semplificando lo script, ovvero evitando di cambiare i codici ogni volta.

  8. #8
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    ... ok l'ìimp e' ch funzioni ...


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.