Hi! I'm writing a script that involves simple authentication procedures. The user sends a password and username, the script then verifies if such user exists, then the scripts generates a unique session ID (encrypted using Crypt::CBC, Crypt::Blowfish with a checksum generated from Digest::MD5). Now, I don't want a single user to login several times on different computers simultaneously (like if someone uses another user's account illegally and they both logged-in on different machines at the same time). The problem I have is that I only rely on the mechanism of using an expiry date/time for a session, such that if I accidentally closed my browser, the next time I will log-in, it will say that such a user is already logged-in because of an orphan session left when I didn't log-out properly. Do you have any suggestions on how I can handle this? Like perhaps having the ability to know if the client has left or his connection has been cut? Basically I just wanted to avoid having orphan sessions. Somewhat I wanted to write an intelligent script that knows if the user is connected but just idle for several hours or if the user had been disconnected or just closed hiw window without logging-out. I am not sure if this is the right venue for me to ask this question but I haven't found a discussion yet that can shed light to my problem. Thanks.

In reply to How should I handle Orphan Sessions? by soon_j

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.