aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/ucp.php
diff options
context:
space:
mode:
authorHenry Sudhof <kellanved@phpbb.com>2007-05-15 16:02:00 +0000
committerHenry Sudhof <kellanved@phpbb.com>2007-05-15 16:02:00 +0000
commit0b94cfb70259e27db9ff892bc1251132269d6247 (patch)
treefd1b7e21e56b4caeab4cd184d82d699fefcd1189 /phpBB/ucp.php
parent7e05a3024be7da56b595115e6bbeb116b2f335b9 (diff)
downloadforums-0b94cfb70259e27db9ff892bc1251132269d6247.tar
forums-0b94cfb70259e27db9ff892bc1251132269d6247.tar.gz
forums-0b94cfb70259e27db9ff892bc1251132269d6247.tar.bz2
forums-0b94cfb70259e27db9ff892bc1251132269d6247.tar.xz
forums-0b94cfb70259e27db9ff892bc1251132269d6247.zip
Making logout somewhat more secure.
Language variables, take them while they're hot. (just one, so be quick) git-svn-id: file:///svn/phpbb/trunk@7590 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/ucp.php')
-rwxr-xr-xphpBB/ucp.php25
1 files changed, 15 insertions, 10 deletions
diff --git a/phpBB/ucp.php b/phpBB/ucp.php
index 2d47134538..923a974b92 100755
--- a/phpBB/ucp.php
+++ b/phpBB/ucp.php
@@ -82,16 +82,21 @@ switch ($mode)
break;
case 'logout':
- if ($user->data['user_id'] != ANONYMOUS)
- {
- $user->session_kill();
- $user->session_begin();
- }
-
- meta_refresh(3, append_sid("{$phpbb_root_path}index.$phpEx"));
-
- $message = $user->lang['LOGOUT_REDIRECT'] . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">', '</a> ');
- trigger_error($message);
+ if ($user->data['user_id'] != ANONYMOUS && (!empty($_GET['sid']) && ($_GET['sid'] == $user->session_id)))
+ {
+ $user->session_kill();
+ $user->session_begin();
+ $message = $user->lang['LOGOUT_REDIRECT'];
+ }
+ else
+ {
+ $message = $user->lang['LOGOUT_FAILED'];
+ }
+ meta_refresh(3, append_sid("{$phpbb_root_path}index.$phpEx"));
+
+ $message = $message . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">', '</a> ');
+ trigger_error($message);
+
break;
case 'terms':