Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Logout alla chiusura del browser
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • T
      thedarkita ModSenior • ultima modifica di

      Ciao infosicurezza,
      è un argomento che ho già affrontato diverse volte nel forum, la soluzione che adotto io è la seguente:

      • Ogni volta che l'utente apre una pagina aggiorno un campo della tabella con il timestamp corrente

      Trascorsi X minuti li puoi già considerare offline.
      Soluzioni in ajax per sapere in quale preciso secondo chiudono il browser sono sicuramente dispendiose in termini di risorse del server, e piuttosto inutili a mio avviso.

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • I
        infosicurezza User Attivo • ultima modifica di

        @Thedarkita said:

        Ciao infosicurezza,

        • Ogni volta che l'utente apre una pagina aggiorno un campo della tabella con il timestamp corrente

        Trascorsi X minuti li puoi già considerare offline.
        .
        Aggiorni il campo della tabella relativo ad un unico utente.
        Se l'utente rimane sul sito per 10 minuti senza cambiare pagina, si presuppone che ha abbandonato il sito giusto ? come fai ad effettuare una modifica alla tabella se quell'utente ormai non è più collegato?

        questo non riesco capire

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • T
          thedarkita ModSenior • ultima modifica di

          Non è necessario sai che l'utente X ha visto l'ultima pagina alle 16:05 adesso sono le 17:00 sai che sono passati X minuti quindi è offline.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • A
            andrearufo User Attivo • ultima modifica di

            Quindi sommare gli utenti che hanno il timestamp al massimo entro 10 minuti da ora darebbe una indicazione (non esattamente) precisa delle utente online in quel momento.

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • T
              thedarkita ModSenior • ultima modifica di

              Si, è anche quello che fanno tutti i forum ad esempio.

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • I
                infosicurezza User Attivo • ultima modifica di

                Potreste farmi un esempio di codice ?
                io non capisco il senso se effettuo l'aggiornamento su un utente specifico perchè uso le sessioni.

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • T
                  thedarkita ModSenior • ultima modifica di

                  Dovresti memorizzare il timestamp dell'ultima pagina visita nel database ovviamente.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • I
                    infosicurezza User Attivo • ultima modifica di

                    @Thedarkita said:

                    Dovresti memorizzare il timestamp dell'ultima pagina visita nel database ovviamente.

                    Di uno specifico utente però giusto ?

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • T
                      thedarkita ModSenior • ultima modifica di

                      Si ogni volta aggiorni quello dell'utente loggato.

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • L
                        longo8 User • ultima modifica di

                        il funzionamento è semplicissimo proprio come ha spiegato Thedarkita. C'è una guida al link: [mtxweb.ch/php_learn/?p=396] di Maurizio Tacchini che utilizza la programmazione orientata agli oggetti (OOP) per eseguire il tutto, è molto più comodo visto che il codice lo dovresti implementare in ogni pagina del tuo sito. La guida si basa però sulla classe che permette all'utente di iscriversi al sito spiegata in un'altra sezione dello stesso autore. Credo che l'iscrizione tu l'abbia già fatta, quindi ti consiglio di prendere spunto dalle funzioni ben spiegate e fare un nuovo oggetto.

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • I
                          infosicurezza User Attivo • ultima modifica di

                          @Longo8 said:

                          il funzionamento è semplicissimo proprio come ha spiegato Thedarkita. C'è una guida al link: [mtxweb.ch/php_learn/?p=396] di Maurizio Tacchini che utilizza la programmazione orientata agli oggetti (OOP) per eseguire il tutto, è molto più comodo visto che il codice lo dovresti implementare in ogni pagina del tuo sito. La guida si basa però sulla classe che permette all'utente di iscriversi al sito spiegata in un'altra sezione dello stesso autore. Credo che l'iscrizione tu l'abbia già fatta, quindi ti consiglio di prendere spunto dalle funzioni ben spiegate e fare un nuovo oggetto.

                          Così dovrei imparare qualcosa della programmazione ad oggetti.. e non credo di aver tempo

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • L
                            longo8 User • ultima modifica di

                            ciao,
                            allora ti basta fare una pagina a parte in cui inserirai le due query:

                            1. aggiorna il timestamp dell'utente che sta navigando;
                            2. inserisce UTENTE USCITO nel campo degli utenti il cui timestamp supera i (tot) minuti scelti da te.

                            online.php
                            [PHP]
                            //1)
                            $time = time();
                            $sql = "UPDATE utenti_online SET ora=$time WHERE id_utente='$_SESSION[id]'";
                            //esegui query

                            //2)
                            $sec= 300; /* 300/60=5 l'utente verrà ritenuto online se non aggiorna una pagina per almeno 5 min
                            Inserisci quanti minuti vuoi esprimendoli in secondi */
                            $sql = "DELETE FROM utenti_online WHERE ora+$sec<$time";
                            //esegui query
                            [/PHP]

                            N.B. La pagina online.php deve essere inclusa in tutte le pagine del tuo sito.

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            Caricamento altri post
                            Rispondi
                            • Topic risposta
                            Effettua l'accesso per rispondere
                            • Da Vecchi a Nuovi
                            • Da Nuovi a Vecchi
                            • Più Voti