النتائج 1 إلى 6 من 6

الموضوع: ما هي الطريقة الأكثر أماناً لفحص الملف قبل الرفع

  1. #1
    عضو جديد
    تاريخ التسجيل
    Apr 2010
    المشاركات
    3

    Question ما هي الطريقة الأكثر أماناً لفحص الملف قبل الرفع



    السلام عليكم

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


    ولكنها كانت غير آمنه

    فحولت طريقة الفحص إلى mime type
    ولكنها أيضا لم تعجبني لأن نوع الملف يتغير من متصفح إلى آخر

    فأردت أن أسألكم هل هناك طريقة لجعل عملية الرفع آمنة؟
    وهل هناك دالة لفحص ما بداخل الملف قبل الرفع مع شرح بسيط لهذه الدالة ..

    شاكرا تعاونكم معي







  2. #2
    عضو فعال جدا
    تاريخ التسجيل
    Feb 2003
    المشاركات
    4,383


    استخدم داله getimagesize لاستخراج قياس الصوره طبعاً اذا كان اقل من 1px فتوقف عملية تحميل الصوره , وترفض الطلب.






  3. #3
    عضو جديد
    تاريخ التسجيل
    Apr 2010
    المشاركات
    3


    شكرا أخي عيسى على الرد
    بالطبع هذه العملية جيدة لأنه إذا كان هناك ملف محوله إلى الصورة فلن يكون له قياس طولي وعرضي
    ولكني أتحدث عن الملف بشكل عام وليست الصورة فقط

    أنا سمعت عن دالة لفحص ما بداخل الملف قبل الرفع ومنعها إذا كان هناك أكواد بداخله مثل <html> <a>
    ويضع فيها (/) أي هكذا </html/> </a/>
    هل يمكنكم إعطائي هذه الدالة مع الشرح






  4. #4
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    احسن طريقة هى mime type





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  5. #5
    عضو جديد
    تاريخ التسجيل
    Apr 2010
    المشاركات
    3

    Arrow



    شكرً أخي محمد على ردك

    هل جربت طريقة mime type في متصفحات مختلفة ؟! :con2:

    جرب رفع ملف zip بهذا الكود في متصفح فيرفوكس واكسبلورر و جوجل شروم
    كود PHP:
    <? $filetype $_FILES['file']['type'];
    if (isset(
    $_POST['do_up']) and $_POST['do_up'] == 'upload') { echo $filetype; } ?>
    <form action='up.php' method='post' enctype='multipart/form-data'>
    <input type='file' name='file' />
    <input type='submit' name='do_up' value='upload' />
    </form>
    ستجد أن الفيرفوكس يقول mime type هذا الملف هو application/zip
    وفي اكسبلورر application/x-zip-compressed
    وفي جوجل شروم application/octet-stream

    و application/octet-stream من أخطر الأنواع إذا أعطيت تصريح السماح برفع هذه الأنواع من الملفات


    أرجو من الإخوان الأعضاء إعطائي طريقة آمنة لرفع الملفات
    بانتظاركم ...









  6. #6


    لا يوجد طريقة آمنة
    الطريقة هي ان توافق على ال mime type وترفع الملف في مسار تحدده انت متداخل ثم تغير ترميزه مثلاً تخليه بدل

    name.zip يصبح name.attach

    الان لما يحضر الشخص للتحميل لا تعطيه رابط الملف ولكن ملف php يقوم بجلب الملف داخلياً وعرض المحتوى للتحميل

    لهذا كل ما سيستطيع عمله هو تحميل الملف فقط بدون روابط مباشرة

    وهناك حل وهو الرفع داخل فولدر معطل به تشغيل ال php بواسطة htaccess










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض