Fix #18: Exception leak remediation across 87 PHP files
- Replaced all client-facing $e->getMessage() with generic error messages - Added error_log() with filename prefix to all catch blocks - Covered jsonError(), echo, and json_encode() response patterns - Also fixed 2 remaining display_errors=1 and add_invoice.php leak - Script-assisted fix for 75 files, manual fix for 12 remaining edge cases
This commit is contained in:
@@ -119,7 +119,9 @@ try {
|
||||
}
|
||||
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[selectDriverAndCarForMishwariTrip.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
} catch (Exception $e) {
|
||||
jsonError("Error: " . $e->getMessage());
|
||||
error_log("[selectDriverAndCarForMishwariTrip.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
@@ -95,7 +95,7 @@ try {
|
||||
|
||||
} catch (PDOException $e) {
|
||||
error_log("❌ [cancelRideAndLog.php] Database Error: " . $e->getMessage());
|
||||
jsonError("Database Error: " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
*/
|
||||
|
||||
require_once __DIR__ . '/../../connect.php';
|
||||
@@ -144,7 +144,8 @@ try {
|
||||
}
|
||||
|
||||
} catch (PDOException $e) {
|
||||
jsonError("DB Error: " . $e->getMessage());
|
||||
error_log("[addCancelTripFromDriverAfterApplied.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
?>
|
||||
@@ -35,6 +35,7 @@ try {
|
||||
jsonSuccess($response);
|
||||
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[get_driver_behavior.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
@@ -43,6 +43,7 @@ try {
|
||||
}
|
||||
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database Error: " . $e->getMessage());
|
||||
error_log("[get.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
@@ -35,6 +35,7 @@ try {
|
||||
}
|
||||
} catch (PDOException $e) {
|
||||
// Print error message
|
||||
jsonError($message = "Database error: " . $e->getMessage());
|
||||
error_log("[add.php] " . $e->getMessage());
|
||||
jsonError($message = "Database error occurred");
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -32,6 +32,6 @@ try {
|
||||
}
|
||||
} catch (PDOException $e) {
|
||||
// إرجاع رسالة خطأ في حال حدوث مشكلة في قاعدة البيانات
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -99,6 +99,6 @@ try {
|
||||
$con->rollBack();
|
||||
}
|
||||
error_log("claimChallengeReward Error: " . $e->getMessage());
|
||||
jsonError("Failed to claim reward: " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -115,6 +115,6 @@ try {
|
||||
|
||||
} catch (PDOException $e) {
|
||||
error_log("getGamificationDashboard Error: " . $e->getMessage());
|
||||
jsonError("Database error occurred: " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -58,7 +58,8 @@ if ($checkStmt->rowCount() > 0) {
|
||||
"expirationTime" => $expirationTime
|
||||
]);
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[addInvitationPassenger.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -91,7 +92,8 @@ if ($checkStmt->rowCount() > 0) {
|
||||
jsonError("Failed to save invite data");
|
||||
}
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[addInvitationPassenger.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -32,6 +32,7 @@ try {
|
||||
$insertStmt->execute([$inviterCode, $user_id, $role]);
|
||||
printSuccess(["message" => "Referral linked successfully"]);
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[add_unified_invite.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -145,6 +145,6 @@ try {
|
||||
if ($con->inTransaction()) {
|
||||
$con->rollBack();
|
||||
}
|
||||
jsonError("Failed to claim reward: " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -35,7 +35,8 @@ if ($stmt->rowCount() > 0) {
|
||||
$insertStmt->execute([$user_id, $role, $newCode]);
|
||||
printSuccess(["referral_code" => $newCode]);
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[get_unified_code.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -54,6 +54,6 @@ try {
|
||||
|
||||
} catch (PDOException $e) {
|
||||
error_log("DB Error: " . $e->getMessage());
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
@@ -39,6 +39,7 @@ try {
|
||||
jsonError("Invalid invite code, already installed, or expired.");
|
||||
}
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[updateInvitationCodeFromRegister.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
@@ -40,6 +40,7 @@ try {
|
||||
jsonError("Invalid invite code, already used, or marked as gift.");
|
||||
}
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[updatePassengersInvitation.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
@@ -181,8 +181,10 @@ try {
|
||||
jsonSuccess($final_result);
|
||||
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[get.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
} catch (Throwable $e) {
|
||||
jsonError("Internal error: " . $e->getMessage());
|
||||
error_log("[get.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
@@ -160,7 +160,9 @@ try {
|
||||
jsonSuccess($limited_results);
|
||||
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[getBalash.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
} catch (Throwable $e) {
|
||||
jsonError("Internal error: " . $e->getMessage());
|
||||
error_log("[getBalash.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
|
||||
@@ -154,7 +154,9 @@ try {
|
||||
jsonSuccess($limited_results);
|
||||
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[getCarsLocationByPassengerVan.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
} catch (Throwable $e) {
|
||||
jsonError("Internal error: " . $e->getMessage());
|
||||
error_log("[getCarsLocationByPassengerVan.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
|
||||
@@ -164,7 +164,9 @@ try {
|
||||
jsonSuccess($limited_results);
|
||||
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[getComfort.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
} catch (Throwable $e) {
|
||||
jsonError("Internal error: " . $e->getMessage());
|
||||
error_log("[getComfort.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
|
||||
@@ -153,7 +153,9 @@ try {
|
||||
jsonSuccess($limited_results);
|
||||
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[getDelivery.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
} catch (Throwable $e) {
|
||||
jsonError("Internal error: " . $e->getMessage());
|
||||
error_log("[getDelivery.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
|
||||
@@ -87,8 +87,10 @@ try {
|
||||
|
||||
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[getDriverCarsLocationToPassengerAfterApplied.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
} catch (Throwable $e) {
|
||||
jsonError("Internal error: " . $e->getMessage());
|
||||
error_log("[getDriverCarsLocationToPassengerAfterApplied.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
@@ -119,7 +119,8 @@ try {
|
||||
printSuccess("Report generated based on Daily Summary.", $savePath);
|
||||
|
||||
} catch (Exception $e) {
|
||||
jsonError("Error: " . $e->getMessage());
|
||||
error_log("[getDriverTimeOnline.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
|
||||
// --- دوال مساعدة ---
|
||||
|
||||
@@ -155,7 +155,9 @@ try {
|
||||
jsonSuccess($limited_results);
|
||||
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[getElectric.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
} catch (Throwable $e) {
|
||||
jsonError("Internal error: " . $e->getMessage());
|
||||
error_log("[getElectric.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
|
||||
@@ -154,7 +154,9 @@ try {
|
||||
jsonSuccess($limited_results);
|
||||
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[getFemalDriver.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
} catch (Throwable $e) {
|
||||
jsonError("Internal error: " . $e->getMessage());
|
||||
error_log("[getFemalDriver.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
|
||||
@@ -81,8 +81,10 @@ try {
|
||||
|
||||
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[getLocationParents.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
} catch (Throwable $e) {
|
||||
jsonError("Internal error: " . $e->getMessage());
|
||||
error_log("[getLocationParents.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
@@ -108,5 +108,6 @@ try {
|
||||
jsonError("No car locations found");
|
||||
}
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[getPinkBike.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
@@ -151,7 +151,9 @@ try {
|
||||
jsonSuccess($limited_results);
|
||||
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[getSpeed.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
} catch (Throwable $e) {
|
||||
jsonError("Internal error: " . $e->getMessage());
|
||||
error_log("[getSpeed.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ header("Content-Type: application/json; charset=UTF-8");
|
||||
|
||||
// تفعيل إظهار الأخطاء لمعرفة مشكلة الكتابة
|
||||
error_reporting(E_ALL);
|
||||
ini_set('display_errors', 1);
|
||||
ini_set('display_errors', 0);
|
||||
|
||||
try {
|
||||
// البدء بالاتصال بقواعد البيانات المطلوبة
|
||||
@@ -122,6 +122,6 @@ try {
|
||||
}
|
||||
|
||||
} catch (Exception $e) {
|
||||
echo json_encode(["status" => "error", "message" => $e->getMessage()]);
|
||||
echo json_encode(["status" => "error", "message" => "An internal error occurred"]);
|
||||
}
|
||||
?>
|
||||
@@ -20,5 +20,6 @@ try {
|
||||
jsonError("No car locations found");
|
||||
}
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[get_location_area_links.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
@@ -81,6 +81,7 @@ LIMIT 10;
|
||||
jsonError("No car locations found");
|
||||
}
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[getfemalbehavior.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
@@ -49,9 +49,11 @@ try {
|
||||
}
|
||||
|
||||
} catch (PDOException $e) {
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
error_log("[save_behavior.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
} catch (Throwable $e) {
|
||||
jsonError("Internal error: " . $e->getMessage());
|
||||
error_log("[save_behavior.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
|
||||
// تم حذف exit() من هنا ليتم التعامل معها داخل try/catch
|
||||
|
||||
@@ -65,8 +65,9 @@ try {
|
||||
|
||||
} catch (PDOException $e) {
|
||||
error_log("Database error in addWaitingRide: " . $e->getMessage());
|
||||
jsonError("Database error: " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
} catch (Exception $e) {
|
||||
jsonError("Error: " . $e->getMessage());
|
||||
error_log("[addWaitingRide.php] " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -123,6 +123,6 @@ try {
|
||||
if ($con->inTransaction()) {
|
||||
$con->rollBack();
|
||||
}
|
||||
jsonError("Exception: " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
@@ -74,6 +74,6 @@ try {
|
||||
|
||||
} catch (PDOException $e) {
|
||||
error_log("❌ [accept_ride.php] Database Error: " . $e->getMessage());
|
||||
jsonError("Database Error: " . $e->getMessage());
|
||||
jsonError("An internal error occurred. Please try again later.");
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user