Вход Регистрация
Файл: mobile/index.php
Строк: 204
<?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');
}
// -------------------- Отправка заголовка с типом документа ------------------ //

include '../sysinc/title.php';

if (
$func == '') {
echo 
'<div class="area">' "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 
'<div class="title">&copy; <a href="/">OurVDS.Ru</a></div><center><a href="https://passport.webmoney.ru/asp/CertView.asp?wmid=281457221178"><img src="http://ourvds.ru/icon/megastock.png" alt="WebMoney"/></a></center>';

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

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

echo 
"n";
echo 
'<!-- ' . (microtime(1) - $microtime) . ' -->';
ob_end_flush();
?>
Онлайн: 2
Реклама