Вход Регистрация
Файл: manager/index.php
Строк: 233
<?php

$microtime 
microtime(1);
$server 'localhost';
$session_lifetime 1800;

// ----------------------------------- Отладка -------------------------------- //
error_reporting(32767);
ini_set('display_errors'1);
// ----------------------------------- Отладка -------------------------------- //

// ------------------------- Установки работы с сессиями ---------------------- //
ini_set('arg_separator.output''&amp;');
ini_set('session.use_cookies'1);
ini_set('session.use_trans_sid'1);
ini_set('session.cookie_domain'$_SERVER['HTTP_HOST']);
ini_set('session.cookie_httponly'1);
session_name('SID');
// ------------------------- Установки работы с сессиями ---------------------- //

// ------------- Функция запроса к API, проверка истечения сессии ------------- //
function api_query($query)
{
    
$content file_get_contents($query);
    if (
strpos($content'Authorization required') or $content == '') {
        
session_unset();
        
session_destroy();
        
header('Location: ?error=logon');
        
ob_end_flush();
        exit();
    } else {
        return 
$content;
    }
}
// ------------- Функция запроса к API, проверка истечения сессии ------------- //

// ------------------- Буферизация вывода и сжатие документа ------------------ //
if (isset($_SERVER['HTTP_ACCEPT_ENCODING'])) {
    
$accept_encoding $_SERVER['HTTP_ACCEPT_ENCODING'];
} elseif (isset(
$_SERVER['HTTP_TE'])) {
    
$accept_encoding $_SERVER['HTTP_TE'];
} else {
    
$accept_encoding '';
}

if (
strpos($accept_encoding'gzip')) {
    
header('Content-Encoding: gzip');
    function 
gzencode5($data)
    {
        return 
gzencode($data5);
    }
    
ob_start('gzencode5');
} elseif (
strpos($accept_encoding'deflate')) {
    
header('Content-Encoding: deflate');
    function 
gzdeflate5($output)
    {
        return 
gzdeflate($output5);
    }
    
ob_start('gzdeflate5');
} else {
    
ob_start();
}
// ------------------- Буферизация вывода и сжатие документа ------------------ //

session_start();
$func = isset($_GET['func']) ? $_GET['func'] : '';

// ---------------------- Проверка действительности сессии -------------------- //
if ($func <> '' and $func <> 'exit') {
    if (empty(
$_SESSION['auth']) or empty($_SESSION['lifetime']) or empty($_SESSION['username']) or empty($_SESSION['password'])) {
        
session_unset();
        
session_destroy();
        
header('Location: ?error=logon');
        
ob_end_flush();
        exit();
    } elseif (
$_SESSION['auth'] == '' or $_SESSION['lifetime'] == '' or $_SESSION['username'] == '' or $_SESSION['password'] == '') {
        
session_unset();
        
session_destroy();
        
header('Location: ?error=logon');
        
ob_end_flush();
        exit();
    } elseif (
$_SESSION['lifetime'] < $_SERVER['REQUEST_TIME'] - $session_lifetime) {
        
session_unset();
        
session_destroy();
        
header('Location: ?error=expire');
        
ob_end_flush();
        exit();
    } else {
        
$_SESSION['lifetime'] = $_SERVER['REQUEST_TIME'];
    }
}
// ---------------------- Проверка действительности сессии -------------------- //

// --------------------------- Отключение кэширования ------------------------- //
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, max-age=0');
header('Pragma: no-cache');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' gmdate('D, d M Y H:i:s') . ' GMT');
// --------------------------- Отключение кэширования ------------------------- //

// -------------------- Отправка заголовка с типом документа ------------------ //
if (isset($_SERVER['HTTP_ACCEPT'])) {
    if (
strpos($_SERVER['HTTP_ACCEPT'], 'application/xhtml+xml')) {
        
header('Content-Type: application/xhtml+xml; charset=UTF-8');
    } else {
        
header('Content-Type: text/html; charset=UTF-8');
    }
} else {
    
header('Content-Type: text/html; charset=UTF-8');
}
// -------------------- Отправка заголовка с типом документа ------------------ //

echo '<!-- Coded by Azzido (ICQ: 7760598) -->';
echo 
"nn";

echo 
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' "n";
echo 
'<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">' "n";
echo 
'<head>' "n";
echo 
'<title>ISPmanager Mobile</title>' "n";
echo 
'<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />' "n";
echo 
'<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />' "n";
echo 
'<link rel="stylesheet" type="text/css" href="style.css" />' "n";
echo 
'</head>' "n";
echo 
'<body>' "n";
echo 
'<div style="text-align:center">' "n";
echo 
'<img src="/css/logo.gif" alt="JaHost.Ru ISPmanager" />' "n";
echo 
'</div>' "n";

if (
$func == '') {
    echo 
'<div style="text-align:center">' "n";
    if (empty(
$_POST['submit']) and (empty($_GET['username']) or empty($_GET['password']))) {
        if (isset(
$_GET['error'])) {
            if (
$_GET['error'] == 'logon') {
                echo 
'Неизвестная ошибка.<br />' "n";
                echo 
'Авторизуйтесь повторно!<br />' "n";
                echo 
'<br />' "n";
            } elseif (
$_GET['error'] == 'authfail') {
                echo 
'Неверный пароль!<br />' "n";
                echo 
'<br />' "n";
            } elseif (
$_GET['error'] == 'expire') {
                echo 
'Сессия устарела.<br />' "n";
                echo 
'Авторизуйтесь повторно!<br />' "n";
                echo 
'<br />' "n";
            }
        }

        echo 
'<form action="index.php" method="post">' "n";
        echo 
'Логин:<br />' "n";
        echo 
'<input name="username" /><br />' "n";
        echo 
'Пароль:<br />' "n";
        echo 
'<input name="password" type="password" /><br />' "n";
        echo 
'<input name="submit" type="submit" value="Войти" />' "n";
        echo 
'</form>' "n";
    } else {
        
$content api_query('https://' $server '/manager/ispmgr?func=auth&out=xml&username=' urlencode($_REQUEST['username']) . '&password=' urlencode($_REQUEST['password']));
        
$parse_xml simplexml_load_string($content);
        if (isset(
$parse_xml->auth)) {
            
$_SESSION['lifetime'] = $_SERVER['REQUEST_TIME'];
            
$_SESSION['auth'] = (string)$parse_xml->auth;
            
$_SESSION['username'] = $_REQUEST['username'];
            
$_SESSION['password'] = $_REQUEST['password'];

            
$content api_query('https://' $server '/manager/ispmgr?func=usrparam&out=xml&authinfo=' urlencode($_SESSION['username']) . ':' urlencode($_SESSION['password']));
            
$parse_xml_usrparam simplexml_load_string($content);
            
$_SESSION['rows'] = (int)$parse_xml_usrparam->rows;

            if (isset(
$_GET['username']) and isset($_GET['password'])) {
                
header('Location: ?func=menu&' SID);
                
ob_end_flush();
                exit;
            }

            echo 
'Авторизация успешна!<br />' "n";
            echo 
'<a href="?func=menu">Продолжить&#187;</a>' "n";
        } else {
            
session_unset();
            
session_destroy();
            
header('Location: ?error=authfail');
            
ob_end_flush();
            exit();
        }
    }
    echo 
'</div>' "n";
} elseif (
file_exists('./func/' $func '.php')) {
    require(
'./func/' $func '.php');
} else {
    
session_unset();
    
session_destroy();
  
///////  header('Location: ?error=logon');
    
ob_end_flush();
    exit();
}

echo 
'<hr />' "n";
echo 
'<div style="text-align:center">' "n";
echo 
'&copy; &laquo;<a href="/">WIN.B9M.RU</a>';

if (
date('Y') <> '2010') {
    echo 
'-' date('Y');
}

echo 
"n";
echo 
'</div>' "n";
echo 
'</body>' "n";
echo 
'</html>' "n";

echo 
"n";
echo 
'<!-- ' . (microtime(1) - $microtime) . ' -->';

ob_end_flush();

?>
Онлайн: 3
Реклама