Update: 2026-06-16 02:14:34
This commit is contained in:
@@ -70,14 +70,18 @@ try {
|
||||
$user = $stmt->fetch();
|
||||
|
||||
if (!$user) {
|
||||
// إذا لم يكن موجوداً، نتحقق من كلمة السر العامة للأدمن كخيار أخير
|
||||
if ($id === 'admin' && $password === $passwordnewpassenger) {
|
||||
// السماح بالدخول كأدمن عام
|
||||
} else {
|
||||
http_response_code(403);
|
||||
echo json_encode(['error' => 'User not found']);
|
||||
exit;
|
||||
}
|
||||
// ⚠️ CRIT-01 FIX: إزالة backdoor الدخول بكلمة سر plaintext
|
||||
// لا يمكن الدخول إلا عبر مستخدمين مسجلين في قاعدة البيانات
|
||||
http_response_code(403);
|
||||
echo json_encode(['error' => 'User not found']);
|
||||
exit;
|
||||
}
|
||||
|
||||
// التحقق من كلمة السر باستخدام password_verify (آمن)
|
||||
if (!password_verify($password, $user['password'])) {
|
||||
http_response_code(403);
|
||||
echo json_encode(['error' => 'Invalid credentials']);
|
||||
exit;
|
||||
}
|
||||
|
||||
// --- إنشاء JWT ---
|
||||
@@ -102,6 +106,8 @@ try {
|
||||
http_response_code(200);
|
||||
|
||||
} catch (Exception $e) {
|
||||
// HIGH-05 FIX: لا تكشف رسائل الخطأ التفصيلية
|
||||
error_log('[loginWalletAdmin] Error: ' . $e->getMessage());
|
||||
http_response_code(500);
|
||||
echo json_encode(['error' => 'Unexpected error occurred: ' . $e->getMessage()]);
|
||||
echo json_encode(['error' => 'An internal error occurred. Please try again later.']);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user