71 messaggi dal 06 gennaio 2019
Buongiorno a tutti,
ho la necessità di creare un file di log degli accessi ad una web app su un db sql, per quel che riguarda l'accesso iniziale, non ho problemi nel senso che vado a registrare la data e ora in cui viene eseguito il login all'applicazione.
Invece per quel che concerne l'uscita dall'applicazione ho un pò di problemi... nel senso che non mi è ben chiaro come intercettare il momento in cui l'utente esce dall'applicazione perchè magari chiude il browser piuttosto che col browser aperto spegne il computer ed altre modalità che al momento non mi sovvengono...
Sarebbe bello imporgli di fare il logout e quindi registrare l'eventoi di logout associandolo ad un gruppo data ora, purtroppo credo che ci siano troppe "variabili" per poter registrare l'evento di uscita dall'applicazione.
Qualcuno ha qualche suggerimento?
Grazie mille come al solito!
Vincenzo
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Vincenzo,

credo che ci siano troppe "variabili" per poter registrare l'evento di uscita dall'applicazione.

Esatto, non c'è un modo affidabile per tracciare il momento in cui l'utente esce dall'applicazione.

Secondo me, una buona approssimazione potrebbe essere quella di memorizzare nel database la data/ora corrente ogni volta che l'utente visita una pagina. In questo modo puoi sapere l'ultima volta che l'utente è stato "visto" nella tua applicazione.

Se vuoi essere più preciso di così, dopo il caricamento di pagina potresti inviare delle altre richieste ajax ogni tot secondi per far sapere al server che la pagina è ancora aperta. Non so se ne valga la pena... dipende da quanto è importante per te questa informazione. Se usi la tecnica delle richieste ajax, dovrai fare in modo di inviarle solo finché l'utente muove il mouse, altrimenti rischi di tracciarlo mentre invece è andato a pranzo e ha lasciato il browser aperto.

Mi raccomando l'informativa: gli utenti DEVONO sapere che stai tracciando le loro abitudini di visualizzazione e DEVI ottenere il loro consenso per poterli tracciare.

Se vuoi farla più semplice puoi usare Google Analytics che per default ti fornirà i tempi di permanenza ma in maniera anonima (cioè non puoi sapere chi erano gli utenti che hanno compiuto quelle visualizzazioni).

ciao,
Moreno
Modificato da BrightSoul il 26 marzo 2019 21:17 -

Enjoy learning and just keep making
71 messaggi dal 06 gennaio 2019
ciao Moreno,
dal punto di vista privacy non ho problemi... qui per defauilt viene tracciata ogni cosa.
Cmq credo che la cosa migliore sia memorizzare nel database la data/ora corrente ogni volta che l'utente visita una pagina, penso che le richieste ajax fatte con una certa frequenza potrebbero influire sulle performance del sistema..

Grazie mille
11.886 messaggi dal 09 febbraio 2002
Contributi

dal punto di vista privacy non ho problemi... qui per defauilt viene tracciata ogni cosa.

Spero che altrettanto per default provvediate a informare gli utenti.


Cmq credo che la cosa migliore sia memorizzare nel database la data/ora corrente ogni volta che l'utente visita una pagina, penso che le richieste ajax fatte con una certa frequenza potrebbero influire sulle performance del sistema..

Ok, bene. Qui sei tu nella migliore posizione per valutare quando devono essere tracciate le visite perché conosci il numero di utenti contemporanei, le caratteristiche hardware del vostro/i server e i requisiti funzionali che ti hanno dato.
Io posso limitarmi a dire che, se volessi alleviare il carico delle richieste ajax, potresti valutare websockets/SignalR.

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.