diff options
| author | Nils Adermann <naderman@naderman.de> | 2006-08-10 13:33:06 +0000 |
|---|---|---|
| committer | Nils Adermann <naderman@naderman.de> | 2006-08-10 13:33:06 +0000 |
| commit | 83e6dcb1ce086c2d01060ce37c2a921c80632cb0 (patch) | |
| tree | 3584018174c26f846e9563392779c75694a55dc9 /phpBB/includes/session.php | |
| parent | 53085a4c78b3004d1e4adf8e06b0617f7f8a288b (diff) | |
| download | forums-83e6dcb1ce086c2d01060ce37c2a921c80632cb0.tar forums-83e6dcb1ce086c2d01060ce37c2a921c80632cb0.tar.gz forums-83e6dcb1ce086c2d01060ce37c2a921c80632cb0.tar.bz2 forums-83e6dcb1ce086c2d01060ce37c2a921c80632cb0.tar.xz forums-83e6dcb1ce086c2d01060ce37c2a921c80632cb0.zip | |
- removed a useless line [Bug #3656]
- do not reuse session ids [Bug #3626]
- Bug #3684
- added refresh imageset option
git-svn-id: file:///svn/phpbb/trunk@6257 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/session.php')
| -rw-r--r-- | phpBB/includes/session.php | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index 38107d80db..3b1e43e052 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -463,8 +463,10 @@ class session $db->sql_return_on_error(true); - $sql = 'UPDATE ' . SESSIONS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " - WHERE session_id = '" . $db->sql_escape($this->session_id) . "'"; + $sql = 'DELETE + FROM ' . SESSIONS_TABLE . ' + WHERE session_id = \'' . $db->sql_escape($this->session_id) . '\' + AND session_user_id = ' . ANONYMOUS; if (!$this->session_id || !$db->sql_query($sql) || !$db->sql_affectedrows()) { @@ -483,15 +485,16 @@ class session trigger_error('BOARD_UNAVAILABLE'); } } + } - $this->session_id = $this->data['session_id'] = md5(unique_id()); + $this->session_id = $this->data['session_id'] = md5(unique_id()); - $sql_ary['session_id'] = (string) $this->session_id; - $sql_ary['session_page'] = (string) substr($this->page['page'], 0, 199); + $sql_ary['session_id'] = (string) $this->session_id; + $sql_ary['session_page'] = (string) substr($this->page['page'], 0, 199); + + $sql = 'INSERT INTO ' . SESSIONS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary); + $db->sql_query($sql); - $sql = 'INSERT INTO ' . SESSIONS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary); - $db->sql_query($sql); - } $db->sql_return_on_error(false); // Regenerate autologin/persistent login key |
