Last modified: 2010-05-15 14:36:15 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T2063, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 63 - Logout: still displays as if logged in after logout
Logout: still displays as if logged in after logout
Status: RESOLVED FIXED
Product: MediaWiki
Classification: Unclassified
User login and signup (Other open bugs)
unspecified
All All
: Normal minor (vote)
: ---
Assigned To: Nobody - You can work on this!
:
: 74 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2004-08-16 05:12 UTC by Timwi
Modified: 2010-05-15 14:36 UTC (History)
1 user (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Timwi 2004-08-16 05:12:53 UTC
BUG MIGRATED FROM SOURCEFORGE
http://sourceforge.net/tracker/index.php?func=detail&aid=1009202&group_id=34373&atid=411192
Originally submitted by bigmamacare (bigmamacare)  2004-08-14 16:41


This obviously does not impact any function but it is 
annoying because one's not shure about logon status. 
This can be observed in any browser (Firefox/Mozilla, IE 
and so on).

MySQL Version: MySQL 3.23.57-log
running on Linux 2.4.25_pre7-gss-r3 using an 
Apache/1.3.27 (Unix).
Comment 1 Brion Vibber 2004-08-16 05:19:27 UTC
The session cookie should remain on logout, so it ought to be possible to slip another cache expiration timestamp into the session. This will only 
last until the browser is closed, however.
Comment 2 Timwi 2004-08-16 06:43:13 UTC
*** Bug 74 has been marked as a duplicate of this bug. ***
Comment 3 Junhua Wang 2004-12-17 09:08:27 UTC
May this problem caused by <MediaWiki>/includes/SkinTemlate.php:

I think the values should be read from cookie. Or the global variable $wgUser
should be updated.

from Line 417:

			if( $wgShowIPinHeader && isset(  $_COOKIE[ini_get("session.name")] ) ) {
				$personal_urls['anonuserpage'] = array(
					'text' => $this->username,
					'href' => &$this->userpageUrlDetails['href'],
					'class' => $this->userpageUrlDetails['exists']?false:'new'
				);
........
Comment 4 Brion Vibber 2004-12-17 19:37:02 UTC
(In reply to comment #3)
> May this problem caused by <MediaWiki>/includes/SkinTemlate.php:

What that bit does is to show a generic header (just the login link) if you don't have a session or login 
active, so that the page output can be cached and served to all other visitors who don't have a session or 
login active. If you are logged in or have a session active (eg, you're logged in, OR you've visited the login 
page, OR you've edited something), then it will show you user name (IP address if you're not logged in) and 
talk page.

This is unrelated to the problem of this bug, which is that the logged-in page view is retained in the local 
browser cache after logout.
Comment 5 Junhua Wang 2004-12-20 02:53:07 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > May this problem caused by <MediaWiki>/includes/SkinTemlate.php:
> 
> What that bit does is to show a generic header (just the login link) if you
don't have a session or login 
> active, so that the page output can be cached and served to all other visitors
who don't have a session or 
> login active. If you are logged in or have a session active (eg, you're logged
in, OR you've visited the login 
> page, OR you've edited something), then it will show you user name (IP address
if you're not logged in) and 
> talk page.
> 
> This is unrelated to the problem of this bug, which is that the logged-in page
view is retained in the local 
> browser cache after logout.


Yes, I also found out that.
I can fix this display problem by the following workaround, but I am not sure if
it is correct to the execution of the whole MeidaWiki system. I just disabled
the cache in returnToMain method, this works on my FreeBSD, I did not test it on
Windows.

	//<MediaWiki>/includes/OutputPage.php
	function returnToMain( $auto = true, $returnto = NULL ) {
		global $wgUser, $wgOut, $wgRequest;

		//added by Junhua Wang start
		$this->enableClientCache( false );
		//added by Junhua Wang end
	......
Comment 6 Junhua Wang 2004-12-20 03:23:03 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > (In reply to comment #3)
> > > May this problem caused by <MediaWiki>/includes/SkinTemlate.php:
> > 
> > What that bit does is to show a generic header (just the login link) if you
> don't have a session or login 
> > active, so that the page output can be cached and served to all other visitors
> who don't have a session or 
> > login active. If you are logged in or have a session active (eg, you're logged
> in, OR you've visited the login 
> > page, OR you've edited something), then it will show you user name (IP address
> if you're not logged in) and 
> > talk page.
> > 
> > This is unrelated to the problem of this bug, which is that the logged-in page
> view is retained in the local 
> > browser cache after logout.
> 
> 
> Yes, I also found out that.
> I can fix this display problem by the following workaround, but I am not sure if
> it is correct to the execution of the whole MeidaWiki system. I just disabled
> the cache in returnToMain method, this works on my FreeBSD, I did not test it on
> Windows.
> 
> 	//<MediaWiki>/includes/OutputPage.php
> 	function returnToMain( $auto = true, $returnto = NULL ) {
> 		global $wgUser, $wgOut, $wgRequest;
> 
> 		//added by Junhua Wang start
> 		$this->enableClientCache( false );
> 		//added by Junhua Wang end
> 	......

And it seems IE works well with this workaround but Firefox1.0 not. If I want
make all the browsers compliant, the line added by me should be moved to method
"output" in OutputPage.php, and I don't think it is a good solution to this
problem... :(
Comment 7 Brion Vibber 2004-12-20 05:24:44 UTC
(In reply to comment #5)
>                 $this->enableClientCache( false );

This would tell the browser not to cache the page which says "You 
are now logged out." etc, while having no effect on anything else. 
Since it's an uncacheable special page and not one you'd revisit, I 
don't think this would actually accomplish anything.
Comment 8 Tom Gilder 2005-01-18 02:28:14 UTC
Fixed in CVS: set cookie with logged in and log out timestamp, then check them when checking If-Modified-Since.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links