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

Allowlisting Columns with Fillable تأمين الحقول المسموحة عبر fillable

حفظ وتحديث نماذج Eloquent عبر save و create وتأمين الأعمدة الحساسة ضد ثغرة الإسناد الجماعي باستخدام $fillable.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

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

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

لتفعيل الإسناد الجماعي الآمن داخل النموذج، عرف المصفوفة المحمية $fillable واكتب بداخلها أسماء الأعمدة المسموح بتعبئتها جماعياً فقط. ورغم وجود خاصية الحظر $guarded، يظل استخدام قائمة السماح الصريحة $fillable المعيار الأمني الأفضل لأن أي عمود يضاف مستقبلاً يبقى محمياً تلقائياً.

  • قائمة السماح ($fillable): تحديد صريح ودقيق لأسماء الأعمدة المسموح بتمريرها في مصفوفات الإنشاء والتحديث.
  • قائمة المنع ($guarded): تحديد الأعمدة الممنوعة، مع الحذر من إفراغها لأنه يعطل الحماية تماماً.
  • عزل الحقول الحساسة: استبعد دائماً أعمدة الصلاحيات والأرصدة المالية من مصفوفة $fillable.
PHP
class Flight extends Model
{
    protected $fillable = [
        'name',
        'number',
        'origin',
    ];
}