示例#1
0
/**
 * Delete a session by IP/session_id/user
 * NOTE: Session on sessions_store table it's not deleted if a user
 * was specified, sumo_delete_old_sessions() it's called to minimize
 * life of expired sessions.
 *
 * @global resource $SUMO
 * @author Alberto Basso <*****@*****.**>
 */
function sumo_delete_session($ip = NULL, $session_id = NULL, $username = NULL)
{
    global $SUMO;
    if ($username) {
        $query = "DELETE FROM " . SUMO_TABLE_SESSIONS . "\n        \t\t  WHERE username='******'";
        $SUMO['DB']->Execute($query);
        sumo_delete_old_sessions();
    } else {
        $user_ip = empty($ip) ? $SUMO['client']['ip'] : $ip;
        $session_id = empty($session_id) ? $SUMO['client']['session_id'] : $session_id;
        $query1 = "DELETE FROM " . SUMO_TABLE_SESSIONS . "\n\t\t   WHERE node='" . $SUMO['server']['name'] . "'\n\t\t    AND ip='" . $user_ip . "'\n\t\t    AND session_id='" . $session_id . "'";
        $query2 = "DELETE FROM " . SUMO_TABLE_SESSIONS_STORE . "\n\t\t   WHERE sesskey='" . $session_id . "'";
        $SUMO['DB']->Execute($query1);
        $SUMO['DB']->Execute($query2);
    }
}
示例#2
0
文件: sumo.php 项目: airedale/sumo
    $_OLD_COOKIE = $_COOKIE;
}
if (!sumo_verify_is_today()) {
    sumo_update_day_limit();
    sumo_write_today();
    sumo_delete_old_users_temp();
    sumo_delete_old_sessions();
    sumo_delete_old_connections();
    sumo_delete_old_log();
    sumo_optimize_db();
    sumo_optimize_hits_counter();
}
// Auto optimize Sumo database
if (sumo_hits_count($SUMO['config']['database']['optimize_hits'], TRUE)) {
    sumo_delete_old_users_temp();
    sumo_delete_old_sessions();
    sumo_delete_old_connections();
    sumo_delete_old_log();
    sumo_optimize_db();
}
// Filter all input data
$_GET = sumo_array_combine(array_keys($_GET), sumo_array_filter(array_values($_GET)));
$_POST = sumo_array_combine(array_keys($_POST), sumo_array_filter(array_values($_POST), 'POST'));
$_COOKIE = sumo_array_combine(array_keys($_COOKIE), sumo_array_filter(array_values($_COOKIE), 'COOKIE'));
// Get variables
require SUMO_PATH . '/inc/inc.get_variables.php';
$SUMO['user'] = sumo_get_user_info();
$SUMO['connection'] = sumo_get_connection_info();
// ...to remember 'security string' after login
if (empty($SUMO['connection']['security_string'])) {
    $SUMO['connection']['security_string'] = $_SESSION['security_string'];