From 0f9b2988e5e2be12858d2429f20c2044797f30d7 Mon Sep 17 00:00:00 2001 From: Andrew H Date: Mon, 21 Dec 2015 21:16:01 +0000 Subject: [PATCH] SECURITY: Remove tokens from session when the user logs out Bug: T122056 Change-Id: Ica0519d18171feeb359bbbe59c37b38e16cbdafd --- includes/user/User.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/includes/user/User.php b/includes/user/User.php index fed9664..92a1dff 100644 --- a/includes/user/User.php +++ b/includes/user/User.php @@ -3656,6 +3656,7 @@ class User implements IDBAccessObject { $this->clearInstanceCache( 'defaults' ); $this->getRequest()->setSessionData( 'wsUserID', 0 ); + $this->getRequest()->setSessionData( 'wsEditToken', '' ); $this->clearCookie( 'UserID' ); $this->clearCookie( 'Token' ); @@ -4129,7 +4130,7 @@ class User implements IDBAccessObject { return self::EDIT_TOKEN_SUFFIX; } else { $token = $request->getSessionData( 'wsEditToken' ); - if ( $token === null ) { + if ( $token === null || strlen( $token ) === 0 ) { $token = MWCryptRand::generateHex( 32 ); $request->setSessionData( 'wsEditToken', $token ); } -- 1.9.1