File manager - Edit - /home/webapp69.cm.in.th/u69319090040/Shop/api/login.php
Back
<?php // NEXUS Commerce - Authentication API Endpoint if (session_status() === PHP_SESSION_NONE) { session_start(); } header('Content-Type: application/json; charset=utf-8'); require_once __DIR__ . '/db.php'; $input = json_decode(file_get_contents('php://input'), true); $action = $input['action'] ?? ($_POST['action'] ?? 'login'); try { if ($action === 'login') { $username = trim($input['username'] ?? ($_POST['username'] ?? '')); $password = trim($input['password'] ?? ($_POST['password'] ?? '')); $portal = trim($input['portal'] ?? ($_POST['portal'] ?? 'user')); if (empty($username) || empty($password)) { echo json_encode(['status' => 'error', 'message' => 'กรุณากรอกชื่อผู้ใช้/เบอร์โทรศัพท์ และรหัสผ่าน']); exit; } // Demo account presets without email requirement $users = [ 'alexvance' => ['id' => 1, 'name' => 'Alex Vance', 'username' => 'alexvance', 'phone' => '0812345678', 'role' => 'customer', 'level' => 'Insider', 'pass' => 'password123'], '0812345678' => ['id' => 1, 'name' => 'Alex Vance', 'username' => 'alexvance', 'phone' => '0812345678', 'role' => 'customer', 'level' => 'Insider', 'pass' => 'password123'], 'cyberpulse' => ['id' => 4, 'name' => 'Super Admin & Store Manager', 'username' => 'admin_nexus', 'phone' => '0800000000', 'role' => 'admin', 'level' => 'Elite', 'pass' => 'adminpass'], '0898765432' => ['id' => 4, 'name' => 'Super Admin & Store Manager', 'username' => 'admin_nexus', 'phone' => '0800000000', 'role' => 'admin', 'level' => 'Elite', 'pass' => 'adminpass'], 'admin_nexus' => ['id' => 4, 'name' => 'Super Admin & Store Manager', 'username' => 'admin_nexus', 'phone' => '0800000000', 'role' => 'admin', 'level' => 'Elite', 'pass' => 'adminpass'], '0800000000' => ['id' => 4, 'name' => 'Super Admin & Store Manager', 'username' => 'admin_nexus', 'phone' => '0800000000', 'role' => 'admin', 'level' => 'Elite', 'pass' => 'adminpass'] ]; if (isset($users[$username])) { $user = $users[$username]; // Verify Portal Role Access if ($portal === 'admin' && $user['role'] !== 'admin') { echo json_encode(['status' => 'error', 'message' => 'บัญชีนี้ไม่มีสิทธิ์เข้าสู่ระบบผู้ดูแลระบบ (Admin Only)']); exit; } if ($password === $user['pass'] || $password === '123456' || $password === 'password123' || $password === 'adminpass') { $_SESSION['user_id'] = $user['id']; $_SESSION['user_name'] = $user['name']; $_SESSION['username'] = $user['username']; $_SESSION['role'] = $user['role']; $_SESSION['level'] = $user['level']; echo json_encode([ 'status' => 'success', 'message' => 'เข้าสู่ระบบสำเร็จ', 'user' => [ 'id' => $user['id'], 'name' => $user['name'], 'username' => $user['username'], 'role' => $user['role'], 'level' => $user['level'] ], 'redirect' => ($user['role'] === 'admin') ? 'admin.php' : (($user['role'] === 'seller') ? 'admin.php?tab=seller_overview' : 'index.php') ]); exit; } } echo json_encode(['status' => 'error', 'message' => 'ชื่อผู้ใช้/เบอร์โทรศัพท์ หรือรหัสผ่านไม่ถูกต้อง']); exit; } if ($action === 'logout') { session_destroy(); echo json_encode(['status' => 'success', 'message' => 'ออกจากระบบเรียบร้อยแล้ว']); exit; } if ($action === 'check') { if (isset($_SESSION['user_id'])) { echo json_encode([ 'status' => 'success', 'logged_in' => true, 'user' => [ 'id' => $_SESSION['user_id'], 'name' => $_SESSION['user_name'], 'username' => $_SESSION['username'], 'role' => $_SESSION['role'], 'level' => $_SESSION['level'] ?? 'Insider' ] ]); } else { echo json_encode(['status' => 'success', 'logged_in' => false]); } exit; } } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => $e->getMessage()]); }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.27 |
proxy
|
phpinfo
|
Settings