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.
    • I
      infosicurezza User Attivo • ultima modifica di

      e allora come potrei fare per risolvere il problema degli utenti online ?
      Un metodo c'è di sicuro, altrimenti anche sui social network come facciamo a ditinguere gli utenti in linea da quelli non in linea ?

      0 Miglior Risposta Ringrazia Cita Rispondi

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

        Sicuramente il modo c'e` e probabilmente si potrebbe eseguire in javascript ma non saprei dirti come di preciso...

        0 Miglior Risposta Ringrazia Cita Rispondi

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

          E' una parte del sito più complicata questa.
          Ancora devo vedere una soluzione.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • 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