Beispiel #1
0
     Util::memcacheFlush();
 } else {
     $error = Session::update_user_light($conn, $login, $login_method, $user_name, $email, $company, $department, $language, $first_login, $is_admin, $tzone);
     if ($error == 0) {
         Util::memcacheFlush();
         if ($is_my_profile && $language != $_SESSION['_user_language']) {
             $_SESSION['_user_language'] = $language;
             ossim_set_lang($language);
             $language_changed = TRUE;
         }
         $tzone_diff = Session::get_timezone($tzone);
         if ($is_my_profile && $_SESSION['_timezone'] != $tzone_diff) {
             $_SESSION['_timezone'] = $tzone_diff;
             $tzone_changed = TRUE;
         }
         Session_activity::force_user_logout($conn, $login);
     } else {
         $msg = 'unknown_error';
     }
 }
 // Change Pass
 if ($error == 0 && $login_method != 'ldap' && !empty($pass1) && !empty($pass2)) {
     //Set new pass
     Session::change_pass($conn, $login, $pass1, NULL);
     Session::log_pass_history($login, hash('sha256', $pass1));
     // Note: session_start will show an alert here. Calling to expire when back to users.php
     if (method_exists('Session_activity', 'expire_my_others_sessions')) {
         $exp_user = $login;
     }
 }
 // Special case LDAP
        if ($user->get_id() == $my_session) {
            $me = "style='font-weight: bold;'";
            $action = "<img class='info_logout dis_logout' src='../pixmaps/menu/logout.gif' alt='" . $user->get_login() . "' title='" . $user->get_login() . "'/>";
        } else {
            $action = "<a onclick=\"logout('" . $user->get_id() . "');\">\n\t\t\t\t\t\t\t             <img class='info_logout' src='../pixmaps/menu/logout.gif' alt='" . _('Logout') . " " . $user->get_login() . "' title='" . _('Logout') . " " . $user->get_login() . "'/>\n\t\t\t\t\t\t\t           </a>";
            $me = NULL;
        }
        $_country_aux = $geoloc->get_country_by_host($conn, $user->get_ip());
        $s_country = strtolower($_country_aux[0]);
        $s_country_name = $_country_aux[1];
        $geo_code = get_country($s_country);
        $flag = !empty($geo_code) ? "<img src='" . $geo_code . "' border='0' align='top'/>" : '';
        $logon_date = gmdate('Y-m-d H:i:s', Util::get_utc_unixtime($user->get_logon_date()) + 3600 * Util::get_timezone());
        $activity_date = Util::get_utc_unixtime($user->get_activity());
        $background = Session_activity::is_expired($activity_date) ? 'background:#FFD8D6;' : '';
        $expired = Session_activity::is_expired($activity_date) ? "<span style='color:red'>(" . _('Expired') . ")</span>" : "";
        $agent = explode('###', $user->get_agent());
        if ($agent[1] == 'av report scheduler') {
            $agent = array('AV Report Scheduler', 'wget');
        }
        $host = @array_shift(Asset_host::get_name_by_ip($conn, $user->get_ip()));
        $host = $host == '' ? $user->get_ip() : $host;
        echo "  <tr id='" . $user->get_id() . "'>\n\t\t\t\t\t\t\t\t\t<td class='ops_user' {$me}><img class='user_icon' src='" . get_user_icon($user->get_login(), $pro) . "' alt='" . _('User icon') . "' title='" . _('User icon') . "' align='absmiddle'/> " . $user->get_login() . "</td>\n\t\t\t\t\t\t\t\t\t<td class='ops_ip'>" . $user->get_ip() . "</td>\n\t\t\t\t\t\t\t\t\t<td class='ops_host'>" . $host . $flag . "</td>\n\t\t\t\t\t\t\t\t\t<td class='ops_agent'><a title='" . htmlentities($agent[1]) . "' class='info_agent'>" . htmlentities($agent[0]) . "</a></td>\n\t\t\t\t\t\t\t\t\t<td class='ops_id'>" . $user->get_id() . " {$expired}</td>\n\t\t\t\t\t\t\t\t\t<td class='ops_logon'>" . $logon_date . "</td>\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<td class='ops_activity'>" . _(TimeAgo($activity_date, gmdate('U'))) . "</td>\n\t\t\t\t\t\t\t\t\t<td class='ops_actions'>{$action}</td>\t\n\t\t\t\t\t\t\t\t</tr>";
    }
}
?>
    			</tbody>
    		</table>
		</div>				
    </div>
    
Beispiel #3
0
require_once 'av_init.php';
require_once 'languages.inc';
Session::useractive('../session/login.php');
$conf = $GLOBALS['CONF'];
/* Connect to db */
$db = new ossim_db();
$conn = $db->connect();
// Expire session
$action = REQUEST('action');
if ($action == 'expire_session') {
    if (!Token::verify('tk_f_users', GET('token'))) {
        Token::show_error();
        exit;
    }
    if (Session::userAllowed($user_id) > 1) {
        Session_activity::expire_my_others_sessions($conn, $user_id);
    }
}
/* Version */
$pro = Session::is_pro();
//Timezone
$tzlist = timezone_identifiers_list(4095);
sort($tzlist);
//Login method list
$lm_list = array('ldap' => _('LDAP'), 'pass' => _('PASSWORD'));
//Entities and Templates
$noentities = 0;
$notemplates = 0;
if ($pro) {
    $entity_list = Session::get_entities_to_assign($conn);
    if (count($entity_list) < 1) {
Beispiel #4
0
}
/* Logout */
$action = REQUEST('action');
ossim_valid($action, OSS_ALPHA, OSS_NULLABLE, 'illegal:' . _('Action'));
if ($action == 'logout') {
    $c_user = Session::get_session_user();
    if (!empty($c_user)) {
        $infolog = array($c_user, intval(REQUEST('timeout')) == 1 ? _('- Timeout expired') : '');
        Log_action::log(2, $infolog);
        /* Logout from API
               - If there are more than one user with the same login in the system,
                 we don't remove API cookie ()
           */
        //Update admin info
        list($db, $conn) = Ossim_db::get_conn_db();
        $sa_list = Session_activity::get_list($conn, "WHERE login = '******'");
        $db->close();
        if (count($sa_list) == 1) {
            $client = new Alienvault_client();
            $client->auth()->logout();
        }
    }
    Session::logout();
    exit;
}
/****************************************************
 **************** Configuration Data ****************
 ****************************************************/
$conf = $GLOBALS['CONF'];
if (!$conf) {
    $conf = new Ossim_conf();
Beispiel #5
0
    }
    if (is_array($users_list) && !empty($users_list)) {
        foreach ($users_list as $k => $v) {
            $users[] = is_object($v) ? $v->get_login() : $v["login"];
        }
        $where = "WHERE login in ('" . implode("','", $users) . "')";
    }
} else {
    $where = "WHERE login = '******'";
}
$allowed_users = Session_activity::get_list($dbconn, $where . " ORDER BY activity desc");
foreach ($allowed_users as $user) {
    if ($user->get_id() == $id) {
        $flag_delete = true;
        break;
    }
}
if ($flag_delete) {
    $res1 = Session_activity::delete($id);
    $res2 = Session_activity::delete_session($id);
}
if ($res1 && $res2) {
    $data['status'] = 'OK';
    $data['data'] = _("Logout successfully");
} else {
    $data['status'] = 'error';
    $data['data'] = _("Logout unsuccessfully");
}
$db->close($dbconn);
echo json_encode($data);
exit;
Beispiel #6
0
        }
        $threshold_a = $host->get_threshold_a();
        $threshold_c = $host->get_threshold_c();
        $os = $host->get_os($conn);
        $mac = $host->get_mac_address($conn);
        $mac_vendor = $host->get_mac_vendor($conn);
        $coordinates = $host->get_coordinates();
        $latitude = $coordinates['lat'];
        $longitude = $coordinates['lon'];
        $zoom = $coordinates['zoom'];
        $icon = $host->get_imgtag();
        if (empty($latitude) || empty($longitude)) {
            $gi = geoip_open("/usr/share/geoip/GeoLiteCity.dat", GEOIP_STANDARD);
            $record = geoip_record_by_addr($gi, $ip);
            if (is_null($record)) {
                $record = geoip_record_by_addr($gi, Session_activity::getRealIpAddr());
            }
            if (!is_null($record)) {
                $city = $record->city;
                $country = $record->country_name;
                $latitude = $record->latitude;
                $longitude = $record->longitude;
            }
            geoip_close($gi);
        }
        $num_sensors = count($sensors);
    }
}
/* services update */
if (GET('update') == 'services') {
    $conf = $GLOBALS["CONF"];