انتقل إلى محتوى الدرس

Testing Forbidden Policy Access اختبار صلاحيات الوصول ومنع التعديل

محاكاة طلبات HTTP والمستخدم المسجل بـ actingAs والتحقق من رموز الاستجابة والتحويلات وأخطاء التحقق برمجياً.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

تحدث الثغرات الأمنية غالباً عند نسيان فحص ملكية السجل عبر البوابات أو السياسات داخل المسار أو المتحكم. اكتب دائماً اختبارات مخصصة يحاول فيها مستخدم أول تعديل أو حذف سجل يخص مستخدماً آخر، وتحقق من إرجاع الاستجابة للرمز المحظور 403.

  • اختبارات منع ثغرات IDOR (IDOR Prevention Tests): حاكِ محاولة تعديل سجل مستخدم آخر وتحقق من المنع عبر assertForbidden أو assertStatus(403).
  • فحص توجيه الزوار (Guest Redirect Checks): تأكد من تحويل الزائر غير المسجل عند طلب مسار محمي إلى صفحة الدخول عبر assertRedirect.
  • تغطية السماح والمنع (Role & Gate Coverage): اختبر حالة المالك المصرح له وحالة المستخدم غير المالك الممنوع بالرمز 403.
PHP
publicfunction test_stranger_ gets_403(): void
{
    $stranger = new User(['id' => 99]);
    $this->actingAs($stranger)
        ->put('/posts/1', ['title' => 'Hacked'])
        ->assertStatus(403);
}