صدقونى عندما اقول اننى احب الكتب اكثر من اخوتى لذا اقرأ كل الوقت و عندما يكون عندى من الوقت مايسمح لى بدخول مكتبة الكلية فأننى افعل و فى احد الأبام السابقة لا أتذكر بالضبط اعتقد انه الأثنين او الثلاثاء دخلت المكتبة لأقرأ احد الكتب التى تروق لى و قد وقع اختيارى على احد الكتب التى تستعرض الخوارزميات (Algorithms) و جلست لأقرأ منه , و لكنى فوجئت بأحد المسئولين عن المكتبة يقوم الصياح على لأقوم بالذهاب له , فإذا به يقول باننى يجب ان احضر الكتاب و بأستغراب قمت بأحضاره فقام بفتح سجل كالذى يتم استخدامه لتسجيل الأستعارة و يقوم بكتابة اسم الكتاب فقمت بتنبيهه الى اننى لا أريد ان استعير الكتاب فقال بكل برود انها تسمى استعارة داخليةو و اننى يجب ان اقوم بكتابة اسمى اما اسم الكتاب ! ياللغباء , حسنآ و لكننى شعرت بنوع من التخوين من جانب المكتبة و تعجبت لتلك الطريقة فى تقييد الحرية و كأنهم يحاولون تقليل أعداد الطلاب التى تستخدم المكتبة و لكننى قمت بأخذ الكتاب و توجهت لأقرؤه و بعد ان انتهيت بعد ربع ساعة فقط ( جميع المراوح فى المكتبة كانت تعمل بسرعتها القصوى لدرجة ان اصبت بالزكام و لم استطيع قراءة حرف واحد ) قمت بأرجاع الكتاب الى الرف الخاص به و ذهبت لأستعادة كارنيه الكلية الذى اقوم بوضعه عند الدخول فى احد الصناديق , و لكننى تم توقيفى لثانى مرة من امينة المكتبة لتقول لى اننى يجب ان احضر الكتاب لثانى مرة للتأكد من سلامته و سوف تقوم بالأمضاء على ذلك اما السطر الخاص بى فى السجل !!!,و قامت بالتوضيح انها قامت بأضافة هذة الميكانيكية للمكتبة بعد ان وجدت ان طلبة الفرقة الأولى يقومون بتمزيق الكتب ؟
بعد كل هذة العمليات الجراحية التى تمت لى فى المكتبة خرجت و انا اشعر بغضب شديد من تلك الغباوة التى ظهرت على العاملين فجأة
و أظهرت لى ايضأ ثغرة جيدة جدآ يمكن من خلالها توضيح مدى الغباء فى هذة الديناميكية
و لنقوم بتحليل الذى حدث فى المكتبة على هيئة برنامج كالتالى
Procedure library (student)
input student.name
input student.grade
input student.card
input student.everythingHeHave
while( student.want_a_book )
student.chooseBook
employee.writeBookName
employee.signature
input student.name
// after the student finishes the book
employee.signature
output student.card
output student.everythingHeHave
طيب كما يتضح فى الكود السابق يقوم الطالب بالخول و و تسجيل الأسم و السنة و وضع الكارنية و وضع اى شىء معه كالشنط و غيره و مادام يريد كتاب يقوم بالأختيار و يقوم الموظف بتسجيل ايم الكتاب و الأمضاء و يقوم الطالب بالأمضاء و بعد انتهاء الطالب من الكتاب يقوم الموظف من الأمضاء و يتم تكرار العملية كل مرة مادام الطالب يريد كتاب آخر
و فى النهاية يقوم الطالب بأخذ الكارنيه و متعلقاته
الثغرة واضحة تمامآ و هى جملة تكرار يمكن ان تكون غير منتهية مادام الكالب يريد كتاب أى اننى بشكل اوضح كلما ادخل المكتبة اقوم بأخذ اكثر من كتاب و حتى اقوم بالحصول على المعلومات التى اريدها و فى الكود السابق يمكن ان يصيب المكتبة overflood اذا قام اكثر من البالدخول فى حلقة التكرار و تكرار العملية اكثر من مرة , سأقوم بأختبار هذة الثغرة يوم الأحد القادم او الأثنين
اعتقد انهم سيقومون بألغاء هذة الحلقة فى القريب العاجل و اعتقد ان الطريقة الأسلم كانت ان يقوم الموظفين فى المكتبة بمراقبة الطلبة بدلأ من فرض قيوم اكبر على طريقة القراءة فى الحقيقة كنت اتمنى ان يكون موظفوا المكتبة اذكى من ذلك و هم غارقوم فى كل هذا الكم من العلوم !















أحدث التعليقات