انتقل إلى المحتوى
DevOrbit
درس تعليميSecurity· 1 دقائق قراءة

رفع الملفات بأمان في تطبيقات الويب: خمس طبقات حماية لا غنى عنها

الاعتماد على امتداد الملف أو نوعه المعلن لا يكفي. هذه خمس طبقات نستخدمها لرفع الصور والمستندات بأمان، من الروابط الموقّعة إلى إزالة بيانات الموقع من الصور.

بقلم Owner · نُشر

رفع الملفات بأمان في تطبيقات الويب: خمس طبقات حماية لا غنى عنها

رفع الملفات من أكثر نقاط الهجوم شيوعاً في تطبيقات الويب: ملفات ضخمة تستنزف التخزين، ملفات تنفيذية بامتداد صورة، أو صور تكشف موقع صاحبها دون أن يعلم.

1. لا تمرّر الملف عبر خادم التطبيق

يطلب المتصفح من الخادم رابط رفع موقّعاً قصير العمر إلى حاوية تخزين خاصة، ثم يرفع الملف إليها مباشرة. اسم الملف في التخزين يولّده الخادم، ولا يُشتق أبداً من اسم الملف الذي أرسله المستخدم.

2. قائمة سماح لكل نوع

لكل نوع وسائط أنواع وأحجام مسموحة: صور JPEG و PNG و WebP بحد معين، ومستندات PDF بحد أصغر، وهكذا. وكل ما عداها مرفوض قبل إصدار الرابط.

3. تحقق بعد الرفع لا قبله فقط

عند إعلان اكتمال الرفع يتأكد الخادم من وجود الملف، ومن حجمه الفعلي، ومن التوقيع الحقيقي للملف (Magic Bytes) لا امتداده. أي مخالفة تعني حذف الملف فوراً.

4. أعد ترميز الصور

تُفك الصورة بحد أقصى لعدد البكسلات (لتجنب "قنابل الصور")، ثم يعاد ترميزها بمقاسات متعددة. إعادة الترميز تزيل بيانات EXIF وإحداثيات GPS التي قد تكشف موقع منزل صاحب الصورة.

5. افصل العام عن الخاص

الصور المعتمدة فقط تُنسخ إلى حاوية عامة بعد نشر الإعلان. أما المستندات الحساسة (صكوك، هويات، تراخيص) فلا تصبح عامة أبداً، وتُفتح للمراجعين بروابط تنزيل قصيرة العمر مع تسجيل كل وصول. والملفات المتروكة دون إكمال تُحذف آلياً.

هذه الطبقات مطبقة في Devorbit Aqar لصور الإعلانات ومستندات توثيق المعلنين.

  • Devorbit Aqar — منصة إعلانات عقارية متكاملة
    مدفوعنشطv1.0.1

    Devorbit Aqar

    منصة إعلانات عقارية متكاملة بالعربية والإنجليزية: بيع وإيجار وتجاري، بحث بالخريطة (PostGIS)، مراجعة الإعلانات وتوثيق المعلنين، لوحة معلن ولوحة إدارة، ورسوم وباقات، مع PWA وإشعارات.

    • .NET
    • C#
    • Next.js
    • TypeScript
    • PostgreSQL