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

الموضوع: هفوة برمجية غير متوقعة أدت إلى ضرر لموقع محترم !

  1. #1

    هفوة برمجية غير متوقعة أدت إلى ضرر لموقع محترم !



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

    في إحدى موقع وفي إحدى جزئياته، يقوم المدير برفع صور ابتسامات ويحفظها على مسار في القرص، ويقوم باضافة إختصار لها في قاعدة البيانات
    وكان كود الرفع كالتالي
    If fileuploads(i).FileName.ToLower().EndsWith("png") Or fileuploads(i).FileName.ToLower().EndsWith("gif") Or fileuploads(i).FileName.ToLower().EndsWith("jpg") Or fileuploads(i).FileName.ToLower().EndsWith("jpeg") Then
    السطر هذا بشكل سريع يقوم بتحديد امتداد الملفات المرفوعة وقد حددتها بأربعة امتدادات فقط ( توجد طريقة أخرى لتحديد الامتدادات بشكل أسرع ) ، ومن ثم يتم حفظ هذه الملفات باسم فريد GUID
    يدخل المدير فيرفع الملفات والأمور تعمل بدون مشاكل
    قام مدير الموقع بتعيين مدير فرعي آخر وهو ما لم يكن بحسباني فقام هذا المدير برفع ملف اختراق وكان امتداده بالشكل التالي : xxxx.asp.png
    برمجتي عملت المطلوب وقامت برفع الملف، وقام المدير الجديد عن طريق هذا الملف بعمل العجب في الموقع وهو ما أدى إلى إهانة صاحب الموقع ، ولسبب ما لم يخبرني بما حدث وأخبرني أنه قام بإغلاق موقعه بعدما حدث
    بدوري أخبرته أنني لم أتوقع أن يرفع المدير ملف ليضر نفسه، وهو ما أقوم به غالبا، بل اـتغاظى كثيرا في قضية التحقق في المدير لأنه ببساطة المدير، هل سيضر موقعه.
    الأخ محمد كان متفهم ولم يلمني وهذا من حسن خلقه، رغم عراقة موقعه، ورغم أنه وجدها فرصة مناسبة لإغلاق الموقع والبدء من جديد، بل وقمنا بالاتفاق لحظتها على برمجة جديدة وبدأت بها، وهذه نصيحة للمبرمجين، بضرورة اعتبار العلاقات مع العملاء المحترمين على أنها علاقات صداقة وليست علاقات عمل عابرة، فكم من علاقات الصداقة وبل الإخوة التي أقمتها أثناء وبعد العمل.
    ما أريد كتابته من ملاحظات لي وللجميع لتلافي هذه المشكلة مستقبلا هي:
    1- ضرورة رفع ملفات الموقع Compiled وليست صفحات كود ، وبدون ذكر الأسباب سيكون الأمر أكثر أمانا.
    2- لا تؤمن لمدير الموقع مرة أخرى، بل يجب عمل التحقق كما لو أنه مستخدم خارجي .
    3- يجب تعطيل الصلاحيات أو الخيارات الإضافية التي لا تلزم ، فمثلا لو أنني قمت بتعطيل asp أو php على السيرفر لكان الأمر أفضل لوما استطاع تشغيل الملف، وفي حالة الموقع الذي قمت برفعه كان الأمر متعذر بخصوص تعطيل asp لأن برمجتي asp.net كانت كانت متصلة ببرمجة قديمة asp وهي رغبة العميل
    4- لا تفحص الامتداد من اسم اسم الملف بل افحص عبر contenttype
    أسأل الله التوفيق





    __________________
    بريدي :khalilme (at) hotmail.com
    مطور: ASP.NET, Windows Phone , Desktop Applications


  2. #2
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    63


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

    تحياتي لك






  3. #3


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

    تحياتي لك
    شكرا لك اخي محمد

    كلامك صحيح طريقة المنع هامة ولكن الموقع هذا يستخدم برمجة asp بالاضافة الى asp.net ، وهنا كانت المشكلة





    __________________
    بريدي :khalilme (at) hotmail.com
    مطور: ASP.NET, Windows Phone , Desktop Applications





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

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