Log doppi.. postato il 06/11/2007 13:25:31 nel forum programmazione, gdrcd e open source
Ciao Ragazzi..
Mi serve un aiuto...
Mi son accorto di poter entrare nel mio gdr con lo stesso user su due browser diversi.. All'inizio ho pensato che essendo l'admin avevo questa facolta'.. Ma provando con un user di prova ho visto che e lo stesso... Come faccio ad eliminare il problema?
Pagine → 1
06/11/2007 13:38:10
Cioe? Io sto utilizzando GRDCD-EXTREME e se nn sbaglio dovrebbe avere i controlli di sessione....😵
06/11/2007 13:44:43
no...non ce li ha i controlli sulla sessione...cmq dovresti inporre un if nel file che effettua il login che vada a vedere se l'utente é gia on-line e se lo é esce la scritta.
06/11/2007 13:51:25 e modificato da syncro il 06/11/2007 13:51:33
Scusate la domanda.... Ma allora su gestione, LOG DOPPI a cosa serve? Io pensavo servisse a quello... Cmq ora proverò ad aggiungere un if come mi avete consigliato....
06/11/2007 14:00:09
Anche io all'inizio avevo un controllo simile che tuttavia ho abbandonato perchè così facendo potevano capitare casi in cui si poteva chiudere in errore il Browser o cmq il Sito e non si poteva rieffettuare il Login fintanto che era creata la sessione su quel PG, quindi per evitare appunto spiacevoli messaggi come: "Siamo spiacenti, ma la sessione legata a questo PG è ancora valida. Se hai chiuso in errore il Sito attendi 5 minuti che la sessione scada"
Infatti sto pensando di creare un controllo relativo al Browser utilizzato, in modo che controlli che non sia aperta una sessione che utilizza un Browser prima che se ne apra un'altra con un altro Browser (ad esempio, se son dentro con FF e provo a entrare con IE mi dice che è già aperta una sessione con quel Browser, ma ecco che cmq si ritorna a quello sgradevole messaggio XD)
Però cmq questo non cambierebbe molto perchè anche aprendo semplicemente un'altra pagina dello stesso Browser si può entrare con due PG o con lo stesso PG due volte (anche se questo creerebbe appunto problemi con le sessioni che si andrebbero a fondere in un'unica sessione).
Altro modo è mettere un Messaggio di conferma quando si chiude il Browser senza aver effettuato il Logout, ma è limitato perhcè non comprendo il fatidico CTRL+ALT+CANC (mi pare eh) XD
Ora a voi, questo è il mio modesto parere XD
06/11/2007 14:00:47
secondo le mie reminescenze del breve periodo che ho usato gdrcd serve per segnalare chi é doppio di chi...in modo da tenerli sempre sotto controllo.
06/11/2007 14:06:54
06/11/2007 14:43:01
Eh lo so ma è pur sempre sbatti XD
Io son per la Filosofia del far fare a Master, Mode e Utenti meno fatica possibile, non nel senso che me ne sbatto, ma perchè da Ex-Utente di tanti GDR-PBC so che ci sono state molte situazioni in cui avrei preferito che esistesse qualcosa per accorciare i tempi per fare qualcosa, è una cosa stupida, semplice, ma fa guadagnare qualche secondo cmq XD
Però se cmq non sei della mia Filosofia (dico all'autore del Topic, ora mi sfugge il nome u__ù) puoi benissimo fare una cosa così, dopotutto bastano due semplici controlli:
Vedere se è Online o meno al momento del Login -> se è Offline tutto a posto :: se è Online visualizzi Messaggio di Errore e gli metti il pulsantino per cancellare quella Sessione controllando che la Pass inserita corrisponda al PG.
fatto ciò fai un semplice reindirizzo alla pagina del GDR che segue il Login (in GDR-CD nn so quale sia XD)
Ah! Mi son dimenticato di come ho risolto momentaneamente il problema, ho fatto un controllo al Login, se è Online viene cancellata la Sessione e la Riga corrispondente a quel PG dalla Tabella dei Connessi.
Così facendo però si va incontro ad una brutta cosa, qualora qualcuno entri "rubando" il PG di un altro cancellerebbe la Sessione dell'originale, o cose simili, che di sicuro nn fa piacere XD
06/11/2007 15:28:13
Non c'e' nulla in Extreme che impedisca il doppio log sullo stesso account, e francamente non ne vedo la necessità. Il log doppi semplicemente controlla l'IP di chi si connette, e se due account si connettono con lo stesso IP li segnala come potenziale doppio pg non autorizzato.
Comunque il controllo e' semplice, va aggiunto a login.php, prima di effettuare effettivamente il login vai a controllare la tabella presenti, se in presenti figura lo user name con cui si prova a connettersi allora non esegui il login.
Pero' occhio, a far cosi' se uno cade, o chiude per sbaglio la finestra, poi non si puo' riloggare finche' non viene scodato dai presenti per inattività, che puo' richiedere parecchi minuti. Quindi se vuoi fare una cosa del genere devi anche ottimizzare il controllo delle disconnessioni accidentali.
06/11/2007 16:08:03 e modificato da maverick21 il 06/11/2007 16:08:16
Ed è appunto quello che ho detto io prima, e per fare ciò io cmq conosco due metodi:
Controllo in un Frame che si ricarica almeno una votla ogni minuto e aggiorna ad un PG il Campo ultimo_refresh di una Tabella Refresh con l'ora attuale e cancella dai Connessi tutti quelli in cui l'ora attuale è maggiore dell'ultimo_refresh + 5 minuti. Così che chi ha i lBrowser chiuso da 5 minuti venga sloggato. (i nomi son di esempio eh ;P)
E mettere uno script JavaScript (ora nn ricordo quale sia) che quando l'Utente clicca sulla X per chiudere lo avvisa e gli chiede se vuole uscire o no.
Così però rimangono fuori casi come il CTRL+ALT+CANC e le chiusure del Browser dovuti a problemi o magari allo spegnimento o Reset del PC.
Se poi Faber ne conosce altri ancora meglio, che così aiuta sia lui che altri utenti con problemi simili ;P
06/11/2007 20:04:50
Quella dell'expiring time "aspettare 5 minuti" c'e' gia, solo che lo fa ogni 3 minuti, il problema e' che 3 minuti son parecchi.
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum