예제 #1
0
        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 '../../gears/RC4.php';
$rc4 = new RC4();
$apitoken = serialize(array($config['user']['id'], intval($_POST['flow_id'])));
$apitoken = base64url_encode($rc4->crypt_str($config['options']['rc4key'], $apitoken));
$link = $config['options']['siteurl'] . '/api.php?apitoken=' . $apitoken;
exit(json_encode(array('type' => 'success', 'msg' => $link)));
예제 #2
0
    		// убиваем ссылку
    		cdim('db','query',"DELETE FROM `proxy` WHERE `id` = '".$proxy->id."';");
    		// еще раз пытаемся подобрать ссылку
    		$proxy = getPROXY();
    	} else {
    		// проверка чистая
    		// обновим последнюю проверку
    		cdim('db','query',"UPDATE `proxy` SET `last_check` = ".time()." WHERE `id` = ".$proxy->id.";");
    	}
      }
    */
    return $proxy;
}
include 'gears/RC4.php';
$rc4 = new RC4();
$detoken = unserialize($rc4->crypt_str($config['options']['rc4key'], base64url_decode($apitoken)));
$user_id = intval(trim($detoken[0]));
$flow_id = intval(trim($detoken[1]));
checkTarif($user_id);
$user = checkToken($user_id, $flow_id);
$token = getToken($flow_id);
/***** BLOCK ALL, witchout this list ******/
$user_ip_addr = $_SERVER['REMOTE_ADDR'];
$block_list_way = 'manage/addl/block_list_' . $user_id . '.lst';
if (file_exists($block_list_way)) {
    $file_arr = array();
    $file_data = file_get_contents($block_list_way);
    $file_arr = unserialize($file_data);
    if (isset($file_arr[$flow_id])) {
        if (count($file_arr[$flow_id]) > 0 && !in_array($user_ip_addr, $file_arr[$flow_id])) {
            die('..');
예제 #3
0
$vds = base64url_decode($query[0]);
$token = base64url_decode($query[1]);
if (isset($_GET['debug']) && $_GET['debug'] == 1) {
    echo $token . "<br>";
}
$rc4 = new RC4();
$vds = $rc4->crypt_str($key, $vds);
if (isset($_GET['debug']) && $_GET['debug'] == 1) {
    echo $vds . "<br>";
}
// надо определить каким способом передавать данные
// тут я попозже допишу...
// отправляем курлом наши параметры
$data = proxyStream($vds, $token, $post);
if (isset($_GET['debug']) && $_GET['debug'] == 1) {
    echo $data;
}
if ($data === false) {
    exit('_');
}
// распаковываем ответ
$rc4 = new RC4();
$data = unserialize($rc4->crypt_str($key, base64_decode($data)));
if (isset($data['headers']) && $data['headers'] != '' && is_array($data['headers'])) {
    foreach ($data['headers'] as $k => $v) {
        header($v);
    }
}
if (isset($data['data']) && $data['data'] != '') {
    echo $data['data'];
}