Pith - miter
miter/back/index.php [2.1 kb]
Modified: 17:48:37 114 026 (11 Jul 026)
14 Days Ago
<?php
declare(strict_types=1);

ini_set('session.cookie_httponly', '1');
ini_set('session.cookie_secure', '1');
ini_set('session.cookie_samesite', 'Strict');
session_start();

$user_file = '../user/user.xml';

if (!is_readable($user_file)) {
    error_log('index.php: user file not readable: ' . $user_file);
    http_response_code(500);
    exit('Configuration error.');
}

$user_get = simplexml_load_file($user_file, 'SimpleXMLElement', LIBXML_NONET);

if ($user_get === false) {
    error_log('index.php: failed to parse user XML');
    http_response_code(500);
    exit('Configuration Error (1)');
}

$user_array = $user_get->xpath("/miter/user[@id='probe']");

if (empty($user_array)) {
    error_log('index.php: probe user not found in XML');
    http_response_code(500);
    exit('Configuration Error (2)');
}

$user_name = (string) $user_array[0]->name;
$user_name = str_replace('@', '', $user_name);
$user_name = htmlspecialchars($user_name, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');

$_SESSION['miter'] = $user_name;

require_once __DIR__ . '/admin/otc.php';

function get_client_ip(): string
{
    $candidates = [
        $_SERVER['HTTP_CLIENT_IP']       ?? '',
        $_SERVER['HTTP_X_FORWARDED_FOR'] ?? '',
        $_SERVER['REMOTE_ADDR']          ?? '',
    ];

    foreach ($candidates as $ip) {
        $ip = trim(explode(',', $ip)[0]);
        if (filter_var($ip, FILTER_VALIDATE_IP)) {
            return $ip;
        }
    }

    return 'unknown';
}

$ip_get     = get_client_ip();
$user_agent = substr($_SERVER['HTTP_USER_AGENT'] ?? 'unknown', 0, 512);

$log_file = __DIR__ . '/admin/log.txt';
$log_dir  = dirname($log_file);

if (!is_dir($log_dir) || !is_writable($log_dir)) {
    error_log('index.php: log directory not writable: ' . $log_dir);
} else {
    $log_entry = $o_date . " -- " . $ip_get . " -- " . $user_agent . "\n";
    if (file_put_contents($log_file, $log_entry, FILE_APPEND | LOCK_EX) === false) {
        error_log('index.php: failed to write log entry');
    }
}

header('Location: ../', true, 302);
exit();
Updates
Wedge - Android 126.026
Wedge - Linux 124.026
Shim - Android 117.026
Miter - 114.026
Kerf - Android 112.026
Dev
TVShow (227) 'CSA'
TVShow (228) 'APT'
TVProgram (83) 'BXT'
Miter Update(s)
Peen (Messaging)

Menu
Calendar
Project Tin (024/029)
Miter
RSS Feed
User Avatar
@vgmlr
=SUM(parts)