كيف يمكن لـ "رابط وهمي" أن يجعل مستخدمك ينفذ عمليات حساسة دون علمه؟
مثل تغيير كلمة السر أو تحويل أموال، دون علمه.
في الـ Backend، نحن لا نثق فقط بالـ Session، بل يجب أن نتأكد أن الطلب (Request) قادم من صفحتنا "فعلياً". ثغرة Cross-Site Request Forgery تعتمد على استغلال المتصفح لإرسال الكوكيز تلقائياً مع أي طلب للموقع.
كيف يحميك Laravel؟
ببساطة عبر الـ CSRF Token. هو رقم سري فريد يتم توليده لكل جلسة مستخدم، ويجب أن يُرسل مع كل طلب POST أو PUT. إذا لم يتطابق التوكن، يرفض لارافل الطلب فوراً (419 Page Expired).
نصيحة: لا تقم أبداً بتعطيل VerifyCsrfToken لمسارات حساسة بحجة تسهيل الـ Testing أو الـ API إلا إذا كنت تستخدم حماية بديلة مثل الـ Sanctum أو الـ JWT.
هل واجهت مشكلة 419 في لارافل من قبل؟ كيف شرحتها لفريق الـ Frontend؟
#CSRF #Laravel #Security