Example #1
0
} catch (Exception $ex) {
    http_response_code("500");
    LogToFile("Failed to connect to database. See log for details.", $ex->getMessage());
    die;
}
$servers = $db->GetServers();
foreach ($servers as $server) {
    if (!$server['enabled']) {
        continue;
    }
    $serverResponse = @file_get_contents($server['address'] . "/population");
    if ($serverResponse === false) {
        // TODO: GHETTO.
        if (strstr($http_response_header[0], "404 Not Found")) {
            $db->SetServerStatus($server['uuid'], false);
            LogToFile("Server '" . $server['name'] . "' returned status 404. Disabling server");
        } else {
            LogToFile("Failed to query server '" . $server['name'] . "' at: " . $server['address'] . "");
        }
        continue;
    }
    try {
        $agentCountHistory = UnpackAgentData($serverResponse);
    } catch (Exception $ex) {
        LogToFile("Server  '" . $server['name'] . "' sent bad data: " . $serverResponse . "");
    }
    foreach ($agentCountHistory as $historyItem) {
        $db->CreateStats($server['id'], $historyItem['Date'], $historyItem['Count']);
        echo date(DateTime::RFC1036, $historyItem["Date"]) . " Server '" . $server['name'] . "' population = " . $historyItem['Count'] . "\r\n";
    }
}
Example #2
0
function CheckHash($Dictionary = array(), $HashAlgo, $Hash, $LogFile = false)
{
    if ($LogFile) {
        LogToFile(Log_Start($Hash), $LogFile);
    }
    foreach ($Dictionary as $Value) {
        if ($LogFile) {
            LogToFile(Log_Dictionary($Value), $LogFile);
        }
        $Count = 0;
        $NrPasswords = 0;
        print_r("\n-----------------------------------------------------------------------------\n\t\tUsing {$Value} as dictionary\n-----------------------------------------------------------------------------\r\n");
        $NrPasswords = CountLines($Value);
        $Count = 1;
        $Dict = fopen($Value, "rb");
        while (!feof($Dict)) {
            $Password = fgets($Dict);
            $Password = str_replace(array("\r", "\n"), '', $Password);
            if (($Result = hash($HashAlgo, $Password)) === $Hash) {
                show_status($NrPasswords, $NrPasswords);
                // Finish the progressbar
                if ($LogFile) {
                    LogToFile(Log_End("[+] MATCH FOUND! for " . $Hash . " -> " . $Password), $LogFile);
                }
                return array($Result, $Password);
            }
            show_status($Count, $NrPasswords);
            // Show a progress bar for each password -> dictionary is empty.
            $Count++;
        }
        fclose($Dict);
    }
    return false;
}
    LogToFile("No queryUrl sent");
    die;
}
$queryUrl = $_GET["queryUrl"];
$slHeader = new SecondlifeHeader($_SERVER);
try {
    $db = new SimStatsDatabase();
    $db->ConnectToDatabase();
} catch (Exception $ex) {
    http_response_code("500");
    LogToFile("Failed to connect to database. See log for details.", $ex->getMessage());
    die;
}
try {
    $shardId = $db->GetOrCreateShardId($slHeader->shard);
    $ownerId = $db->GetOrCreateUserId($slHeader->ownerKey, $slHeader->ownerName, $shardId);
    $db->CreateOrUpdateServer($slHeader->objectName, $shardId, $ownerId, $queryUrl, $slHeader->objectKey);
} catch (Exception $ex) {
    http_response_code("500");
    LogToFile("Failed to register server. See log for details.", $ex->getMessage());
    die;
}
echo "OK";
LogToFile("New or updated query server.");
LogToFile("  shard = " . $slHeader->shard . " [id = " . $shardId . "]");
LogToFile("  region = " . $slHeader->region);
LogToFile("  name  = " . $slHeader->objectName);
LogToFile("  owner = " . $slHeader->ownerName . " (" . $slHeader->ownerKey . ")");
LogToFile("  url = " . $queryUrl);
LogToFile("");
Example #4
0
    LogToFile('Отсутствует подпись', $moduleName);
    exit;
}
$signature = $_REQUEST['Signature'];
// проверка наличия параметра Статуса операции
if (!isset($_REQUEST['Status'])) {
    LogToFile('Отсутствует статус оплаты', $moduleName);
    exit;
}
$status0 = $_REQUEST['Status'];
LogToFile('Статус оплаты заказа ' . $status0, $moduleName);
// $status0 может быть
// authorized - средства успешно заблокированы (выполнена авторизационная
//   транзакция)
// not authorized - средства не заблокированы (авторизационная транзакция не
//   выполнена) по ряду причин
// paid - оплачен (выполнена финансовая транзакция или заказ оплачен в
//   электронной платёжной системе)
// canceled - отменён (выполнена транзакция разблокировки средств или выполнена
//   операция по возврату платежа после списания средств)
// waiting - ожидается оплата выставленного счёта. Статус используется только
//   для оплат электронными валютами, при которых процесс оплаты может содержать
//   этап выставления черех систему Uniteller счёта на оплату и этап фактической
//   оплаты этого счета покупателем, которые существенно разнесены по времени
// проверка достоверности подписи
if (!Uniteller::IsSignatureCorrect($order_id, $status0, $signature)) {
    LogToFile('Подпись неверна', $moduleName);
    exit;
}
Uniteller::OrderPaymentCallback($order_id);
exit;
Example #5
0
<?php

include_once dirname(__FILE__) . "/../lib/SimStatsDatabase.php";
include_once dirname(__FILE__) . "/../lib/Utils.php";
if (!isset($_GET['serverId'])) {
    die("Missing serverId");
}
$uuid = $_GET['serverId'];
try {
    $db = new SimStatsDatabase();
    $db->ConnectToDatabase();
} catch (Exception $ex) {
    http_response_code("500");
    LogAndEchoJson("Failed to connect to database. See log for details.", $ex->getMessage());
    die;
}
$mapUrl = $db->GetServerAddress($uuid);
if ($mapUrl == null || $mapUrl == "") {
    LogToFile("Failed to get map address. Try again.");
    echo "null";
    return;
}
$contents = @file_get_contents($mapUrl . "/agents");
if ($contents == "") {
    LogToFile("Failed to contact map server. Try again.");
    echo "null";
    return;
}
// TEMP: Replace 'Players' with 'data'
echo substr_replace($contents, "data", 2, 7);
Example #6
0
function LogAndEcho($message, $messagePrivate = null)
{
    echo $message . "\r\n";
    LogToFile($message, $messagePrivate);
}