Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Chiudere una sessione

  1. #1

    Chiudere una sessione

    Salve ragazzi, è possibile chiudere una sessione quando chiudo la pagina del browser con la X?????quale istruzione devo utilizzare?????Grazie

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    La chiusura del browser è un evento lato client quindi tramite js all'evento OnUnLoad devi far partire una funzione che richiama una pagina asp che fa quello che dici.
    Ma devi fare attenzione: l'onunload parte anche quando cambi pagina...

    Roby

  3. #3
    in pratica (facendo un po' di attenzione) quando la pagina si chiude in client viene generato, appunto, l'OnUnload

    tramite quello fai un

    codice:
    window.location.href = 'paginaend.asp'

    e alla paginaend.asp ci metti
    codice:
    <%
    session.end();
    %>
    <script>
    self.close();
    </script>
    san imente saluta

    * http://simonecingano.it *

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    permettetimi una domanda (niubba) non viene automaticamente "distrutta" la variabile di sessione alla chiusura della pagina del browser?



    dies

  5. #5
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    No. Non viene distrutta automaticamente. Pansaci un po' su e capirai anche il perchè (come fa il server a capire che hai chiuso il browser?). Infatte imente ti suggerisce di lanciare un'altra pagina per dire al server "sto chiudendo il mio browser".

    Ci sono 2 problemi però.
    1.E se ho un'altro browser aper con la stessa sessione?
    2.Session.End non me la ricordo come istruzione. Credo che quella corretta sia Session.Abandon. Prova

    Ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    Originariamente inviato da Baol74
    No. Non viene distrutta automaticamente. Pansaci un po' su e capirai anche il perchè (come fa il server a capire che hai chiuso il browser?). Infatte imente ti suggerisce di lanciare un'altra pagina per dire al server "sto chiudendo il mio browser".
    Permettimi di quotare questa parte del tuo intervento...

    Non ricordo se viene - effettivamente - distrutta (sul server cartella /tmp), ma cmq si perde il riferimento a quella "particoalre ed unica" sessione aperta sul server proprio dalla visita del tuo "browser"; perché se apri una "nuova" sessione di navigazione con il browser (non parlo di CTRL+N), ma proprio un nuovo processo, non esiste più il RIFERIMENTO precedente.

    Il problema "di cancellare la sessione " è rivolto unicamente da come è "protetta" quella cartella /tmp sul SERVER... chiaro è che, se ti bucano il server e mettono un occhio proprio in quella cartella si è belli e fritti. Specialmente in hosting condiviso dove tutte le sessioni sono salvate in un unica "cartella /tmp)


    ciao,


    dies

  7. #7
    si, chiedo scusa...

    era SESSION.ABANDON



    cmq il fulcro è che la sessione se non viene chiusa con quella istruzione, viene chiusa al suo scadere (impostato nel GLOBAL.ASA)

    quindi se si riapre il browser con una sessione ancora attiva è come se il browser non fosse mai stato chiuso
    san imente saluta

    * http://simonecingano.it *

  8. #8
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Le sessioni in asp non sono statiche. Asp usa segmenti di memoria ram per creare le sessioni, a differenza di php. Nessuna cartella tmp quindi (probabilmente arrivi dal php)

    Hai fraiteso quello che ho detto. E' chiaro che se chiudi il browser viene perso il sessionID (il cookie sul client), ma la sessione sul server rimane attiva occupando risorse ram. La sessione scadrà al timeout stabilito. questo non è asp ma semplicemente specifiche del protocollo tcp/ip

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.