Update: 2026-08-07 04:35:28

This commit is contained in:
Hamza-Ayed
2026-08-07 04:35:28 +03:00
parent f0ea698ab2
commit 8e7c4a7104
5 changed files with 469 additions and 2 deletions
+21 -2
View File
@@ -47,10 +47,29 @@ $role = $decoded->role ?? 'passenger';
//
// نقاط تسجيل الدخول (Admin/auth/*, jwtService.php) لا تستدعي connect.php
// أصلاً، فلا تتأثر بهذه البوّابة ولا يمكن أن تُقفل على نفسها.
$adminDir = realpath(__DIR__ . '/Admin');
//
// ‏2026-08-07: وُسِّعت البوّابة لتشمل serviceapp/ أيضاً. كان 34 من 39 ملفاً
// ‏هناك بلا أي فحص دور — بينها getDriverByPhone و getPassengersByPhone و
// ‏update_complaint — أي أن أي حامل JWT صالح (راكب عادي) يقرأ بيانات
// ‏السائقين والركّاب ويغلق الشكاوى. تحققنا أن siro_rider و siro_driver لا
// ‏يستدعيان أي نقطة تحت serviceapp/، فالإغلاق لا يكسر تطبيقات الجوال.
$gatedDirs = array_filter([
realpath(__DIR__ . '/Admin'),
realpath(__DIR__ . '/serviceapp'),
]);
$script = realpath($_SERVER['SCRIPT_FILENAME'] ?? '');
if ($adminDir && $script && str_starts_with($script, $adminDir . DIRECTORY_SEPARATOR)) {
$inGatedDir = false;
if ($script) {
foreach ($gatedDirs as $dir) {
if (str_starts_with($script, $dir . DIRECTORY_SEPARATOR)) {
$inGatedDir = true;
break;
}
}
}
if ($inGatedDir) {
// نقاط تحت Admin/ تستدعيها تطبيقات الجوال بأدوار غير إدارية.
// تم التحقق من مواضع الاستدعاء الفعلية في siro_rider و siro_driver:
// errorApp.php → التطبيقان يبلّغان عن الأخطاء