Sorry for the rant about E-Trust and privacy policies. Valid rant, wrong time/place.
My original point about expiring sessions by deleting cookies still holds true though.
- User logs on, you give him a cookie
- User does some stuff
- User disconnects or moves to another site.
- Server expires session, but can't send a 'delete cookie', blank cookie, or 'Your logged off' msg to the client (using server push or not) because the client isn't there. No communication path at all.
- User returns a week later, issues a request against the client for whatever page they were on when here last (using a bookmark they made for example). The request arrives at the server with the auth. cookie still intact.
Unless of course, the cookie was set to expire within a few minutes or hours, in which case the client won't send it. In this case, no action is required by the server to "determine a session is over" and it doesn't need to "tell the client to delete the cookie"?
Of course, this has flaws too. Cookies are text. Expiration times can be changed at the client. It therefore requires that the cookie carry an external and an internal expiration, with the internal expiration suitably encoded that edits can be detected.
My point was simply that if the session expires because the connection is broken, there is no mechanism by which the server can tell the client to delete the cookie.
Well It's better than the Abottoire, but Yorkshire!