المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : خطأ برمجي شائع



أســامــة
11-04-2013, 08:39 AM
السلام عليكم ورحمة الله وبركاتة
Fatal error: Call to a member function children() on a non-object in /home/eface/public_html/ins/related.php on line 15
السؤال
1- هل هذا خطاء برمجي او ثغرة
2- هل استطيع استغلال الخطاء البرمجي واحولة لصالحي كهكر
3- ماهو الفرق بين الثغرة والخطاء البرمجي وهل هناك تشابه او او او ياشباب والله تعبت
الوكاد السؤال للمحترفين اتمنى تفيدوني لاني صــأمل تعرفون كيف صامل أبي اتعلم


- - - تم التحديث - - -

/home/eface/public_html/ins/related.php on line 15

QtRoNiX FoX
11-04-2013, 03:35 PM
وعليكم السلام ورحمة الله

1- هذا خطأ برمجي وليس ثغرة

2- من الصعب استغلال اخطاء برمجية كهذه لانها عادتاً الاخطاء البرمجية تسبب لتعطيل اوامر معينة في الموقع وتخريب مظهر الصفحة للزائر وعدم ظهور كل شيء مطلوب في الصفحة ، يعني ممكن يكون هناك اشياء اختفت بسبب الخطأ البرمجي هذا
وهناك اخطاء برمجة من الممكن استغلالها ، لكن ليس جميعهم
والخطأ البرمجي عادتاً صعب تستغلة لكن ممكن تستفيد منه في اومور معينة

3- سؤالك هذا اعجبني لانه القليل يلي بساله والاغلب بوخذ عنه فكره خاطئه
نعم هناك فرق بين الخطأ البرمجي والثغرة

الخطأ البرمجي: خطأ يقع فيه المبرمج اثناء برمجتة لكود معين في الصفحة ، فاذا اخطأ المبرمج في شيء يصبح هنا خطأ برمجي وليس ثغرة ، وهذا الخطأ البرمجي يسبب فقط الى تعطيل بعض الاوامر والتنفيذات التي قام بطلبها المبرمج ويظهر خطأ برمجي بدلاً من الاوامر التي قام بطلبها المبرمج لان تعرض في الصفحة
ومثال بالكود الي انت معطينا اياه هناك خطأ في استدعاء دالة اسمها children() في كلاس اسمه non-object ، هنا المبرمج لن يقوم باستدعاء الدالة children() بشكل صحيح ، لذلك ظهرت لك تلك الرسالة
ممكن دالة children() تكون تحتوي على ظهور شيء معين ، ممكن تكون تحتوي على صورة مثلا او اي شيء آخر ، ولنفترض انها هاي الداله بتحتوي على صورة
عندما اخطأ المبرمج في استدعاء هذه الداله لن تظهر تلك الصورة وتم عرض تلك الرسالة بدلا ما تحتويه دالة children()

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

تحياتي لك اخي.

dark prince
11-04-2013, 03:41 PM
بارك الله فيك اخ كاترونكس والله لن يجيب خذا السؤال شخص بأفضل مما أجبت

أســامــة
11-05-2013, 12:58 AM
مشكور اخوي على الشرح الاكثر من وافي

كاسر المشاعر
11-05-2013, 12:34 PM
مشكووووووووووووووووووووور يا اخ QtRoNiX FoX على المعلومات القيمة