اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

تلك ميزة في قوالب blade  المستخدمة في لارافل، حيث تُستخدم لتوليد حقل الـ hidden input الذي يحمل قيمة "DELETE"، والذي يُرسل مع النموذج لتحديد نوع الطلب كـ DELETE.

أي يُولد كحقل input يحمل اسم "_method" وقيمة "DELETE"، وعند إرسال النموذج، يتم تضمين الحقل في البيانات المرسلة، وبالتالي يتمكن Laravel من تحديد نوع الطلب كـ DELETE حتى يتم توجيهه بشكل صحيح.

و @csrf تُستخدم لتوليد حقل الـ hidden input الذي يحمل رمز CSRF، وهو مطلوب لحماية التطبيق من هجمات Cross-Site Request Forgery (CSRF).

كالتالي:

<form action="{{ route('users.destroy', $user) }}" method="POST"
   class="d-inline-block" onsubmit="return confirm('Remove user?')">
    @csrf
    @method('DELETE')

    <button type="submit" class="btn btn-danger">
        Delete user
    </button>
</a>
  • 0
نشر

@method('DELETE') في لارافل لها هدفين:

تغيير طريقة الاستعلام إلى DELETE:

يستخدم طريقة POST لتنفيذ طلبات HTTP، لكن الحذف يتطلب طريقة DELETE.الميثود تغير طريقة الاستعلام إلى DELETE حتى يتم تنفيذها بشكل صحيح مع الميثود delete في لارافل.

حماية ضد CSRF:

تتطلب لارافل وجود حقل _method لتأكيد طلب الحذف ضد هجمات CSRF. الميثود تضيف حقل _method بقيمة DELETE للتأكد من أن الطلب أتى من المستخدم وليس من جهة خارجية. فهي تضمن تنفيذ الحذف بشكل آمن وتماشياً مع سياسة أمن الويب.

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...