Mini Shell
<?php
// ปิดการแสดง Error ของ PHP ออกทางหน้าจอ และเปิด Buffer ป้องกัน JSON เสียหาย
error_reporting(0);
ob_start();
include 'db/database.php';
// Username ป้องกัน SQL Injection ตามปกติ
$username = mysqli_real_escape_string($link, $_POST['username']);
// ❗ Password รับค่าดิบๆ ห้ามใส่ mysqli_real_escape_string หรือ trim เด็ดขาด ❗
$password = $_POST['password'];
$salt = 'tikde78uj4ujuhlaoikiksakei896';
$hash_login_password = hash_hmac('sha256', $password, $salt);
$sql = "SELECT * FROM user WHERE username='$username' AND password='$hash_login_password'";
$result = mysqli_query($link, $sql);
$response = array();
if($result && mysqli_num_rows($result) === 1){
$row_user = mysqli_fetch_array($result, MYSQLI_ASSOC);
// เช็คสถานะการใช้งาน
if($row_user['login_status'] != '100'){
$response = array('status' => 'danger', 'message' => 'บัญชีนี้ถูกระงับการใช้งาน กรุณาติดต่อผู้ดูแลระบบ');
} else {
// เช็ค Session และเข้าสู่ระบบ
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
$_SESSION['user_id'] = $row_user['user_id'];
$_SESSION['username'] = $row_user['username'];
$response = array('status' => 'success');
}
} else {
$response = array('status' => 'danger', 'message' => 'Username หรือ Password ไม่ถูกต้อง');
}
mysqli_close($link);
// ล้าง Buffer ขยะทิ้งทั้งหมด แล้วค่อยพ่นแค่ JSON ออกไป
ob_end_clean();
header('Content-Type: application/json; charset=utf-8');
echo json_encode($response);
exit();
?>
Zerion Mini Shell 1.0