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

Automatic Hashed Model Attribute التجزئة التلقائية عبر محول Hashed

فهم معمارية الحراس ومزودي المصادقة وتأمين كلمات المرور بالتجزئة عبر Hash::make وتشفير البيانات الحساسة بـ Crypt.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

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

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

يتضمن نموذج User الحديث في Laravel 12 محول النوع 'password' => 'hashed' مدمجاً داخل دالة casts بشكل افتراضي. يقوم هذا المحول الذكي بتجزئة أي نص عادي يُسند إلى حقل كلمة المرور تلقائياً، كما يتجنب إعادة تجزئة القيمة إذا كانت مجزأة مسبقاً بالفعل.

  • تجزئة تلقائية عند الإسناد (Auto Hashing): بمجرد إسناد نص عادي لحقل password يتكفل النموذج بتجزئته قبل الحفظ.
  • منع التجزئة المزدوجة (Double-Hash Guard): يفحص بادئة النص ليتأكد من عدم تجزئة قيمة مجزأة مسبقاً عبر Hash::make.
  • الإخفاء عند التحويل ($hidden Array): يوضع حقل password دائماً في مصفوفة $hidden لمنع ظهوره في استجابات JSON.
PHP
protected $hidden = ['password', 'remember_token'];

protected function casts(): array
{
    return [
        'password' => 'hashed',
    ];
}