diff options
author | Paul S. Owen <psotfx@users.sourceforge.net> | 2002-08-07 00:02:08 +0000 |
---|---|---|
committer | Paul S. Owen <psotfx@users.sourceforge.net> | 2002-08-07 00:02:08 +0000 |
commit | 3a662e24f4311a2b0518264f85c1479545c93d2c (patch) | |
tree | 97e4a9eace30adfe4d427f536ed08e769b5145e8 /phpBB/includes | |
parent | 16922e62e3538677581e73a7d7a7faa23d2b401c (diff) | |
download | forums-3a662e24f4311a2b0518264f85c1479545c93d2c.tar forums-3a662e24f4311a2b0518264f85c1479545c93d2c.tar.gz forums-3a662e24f4311a2b0518264f85c1479545c93d2c.tar.bz2 forums-3a662e24f4311a2b0518264f85c1479545c93d2c.tar.xz forums-3a662e24f4311a2b0518264f85c1479545c93d2c.zip |
Change connection limit to session per minute limit ... maybe more 'general' ?
git-svn-id: file:///svn/phpbb/trunk@2833 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes')
-rw-r--r-- | phpBB/includes/session.php | 27 |
1 files changed, 8 insertions, 19 deletions
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index 6d6a32ce15..c621d3d807 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -138,28 +138,17 @@ class session { $current_time = time(); // - // Limit connections (for MySQL) or 5 minute sessions (for other DB's) + // Limit sessions in 1 minute period // - switch ( SQL_LAYER ) - { - case 'mysql': - case 'mysql4': - $sql = "SHOW PROCESSLIST"; - $result = $db->sql_query($sql); - $current_sessions = 0; - while ( $db->sql_fetchrow($result) ) $current_sessions++; - break; - default: - $sql = "SELECT COUNT(*) AS sessions - FROM " . SESSIONS_TABLE . " - WHERE session_time >= " . ( $current_time - 3600 ); - $result = $db->sql_query($sql); - $row = $db->sql_fetchrow[$result]; - $current_sessions = ( isset($row['sessions']) ) ? $row['sessions'] : 0; - } + $sql = "SELECT COUNT(*) AS sessions + FROM " . SESSIONS_TABLE . " + WHERE session_time >= " . ( $current_time - 60 ); + $result = $db->sql_query($sql); + + $row = $db->sql_fetchrow[$result]; $db->sql_freeresult($result); - if ( intval($board_config['active_sessions']) && $current_sessions > intval($board_config['active_sessions']) ) + if ( intval($board_config['active_sessions']) && intval($row['sessions']) > intval($board_config['active_sessions']) ) { message_die(MESSAGE, 'Board_unavailable'); } |