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

HTML Form Method Spoofing Directive محاكاة طرق التحديث والحذف بالنماذج

تأمين نماذج HTML ضد هجمات تزوير الطلبات عبر توجيه @csrf ومحاكاة طرق التحديث والحذف عبر توجيه @method وفق أحدث معايير إطار العمل Laravel 12 مع أمثلة وتطبيقات عملية متدرجة.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

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

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

لا تدعم وسوم النماذج القياسية في لغة HTML سوى طريقتي GET وPOST فقط، بينما تتطلب مسارات الموارد القياسية طرق PUT وPATCH وDELETE. يعالج توجيه @method هذه المشكلة بإدراج حقل مخفي باسم _method يخبر موجه Laravel بالطريقة الفعلية المطلوبة.

  • بقاء سمة النموذج POST (method="POST"): يظل وسم النموذج الخارجي على طريقة POST دائماً عند استخدام المحاكاة.
  • محاكاة التحديث (@method('PUT')): يوجه النموذج نحو مسار التحديث Route::put أو Route::patch.
  • محاكاة الحذف (@method('DELETE')): يوجه نموذج تأكيد الحذف نحو مسار Route::delete بأمان.
PHP
<form method="POST" action="{{ route('post.put', 5) }}">
    @csrf
    @method('PUT')

    <input type="text" name="title" value="Guide">
    <button type="submit">Update Article</button>
</form>