on 21/03/03 4:57 PM, Beauford.2002 ([EMAIL PROTECTED]) wrote:

> I have read some posts to this list on sessions and have read as much as I
> can find on them, but one problem still exists which I can't figure out. How
> do I kill the session when the user leaves my site. So if  a user is on
> www.mine.com and logs in successfully, then goes to www.hers.com - the user
> should have to log in again once coming back to www.mine.com, but at present
> the user is still logged in - and all variables are still set.

How can PHP possibly tell when the user closes a window, or manually enters
a new URL into the browser?

It can't because PHP is only server side.

Set the appropriate session max lifetime and garbage clean out probability,
and sessions should die within a reasonable time of not being used (see
php.ini for more info).

Or, present the user with a logout link, to be sure the session is killed
instantly.

You can also do some *extra* insurance by creating a javascript pop-up
triggered on a window close event which forces a log out, but this will only
help in some cases, and more to the point, client-side scripting cannot be
relied upon.

If you want to kill sessions as people click on external links within your
site, you can do so by creating a middle-man script between your page and
the external site:

Instead of 
<a href='http://newsite.com'>click</a> you would do this:

<a href='out.php?url=<?=urlencode('http://newsite.com')?>'>click</a>

out.php would be responsible for killing the session before doing a header()
redirect to the target url.


But, end of the day, all these are work-arounds.  Offer a logout link on
every page of your site.  If the user chooses not to logout, then they are
consciously making this decision -- they may want to come back shortly, or
they may not care about the security implications -- either way, it's their
call.


Justin


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to