العودة لقائمة المشاريع

مطلوب مبرمج بايثون لتعديل دالات التحقق وإغلاق ثغرات في بوت أتمتة متجر سلة

85

نقاط الجدية مشروع جاد

من 100 — بناءً على نشاط صاحب المشروع، جودة الوصف، الميزانية، والعروض
الحالة
مكتمل
تاريخ النشر
منذ شهر
الميزانية
$25.00 - $50.00
مدة التنفيذ
3 أيام
التصنيف
برمجة، تطوير المواقع والتطبيقات
صاحب المشروع
محمد ا.
عدد العروض
7
مشاريع قيد التنفيذ
0
التواصلات الجارية
15
المهارات المطلوبة
الأمن السيبراني أمن المعلومات تطوير البرمجيات برمجة مواقع هندسة البرمجيات أمن وحماية المواقع Back End الأمن السيبراني أمن المعلومات تطوير البرمجيات برمجة مواقع هندسة البرمجيات أمن وحماية المواقع Back End
الوصف
السلام عليكم ورحمة الله وبركاته، لدي سيستم بوت أتمتة لمتجر ألعاب رقمية، السيستم مبني بلغة Python باستخدام إطار عمل (Flask أو FastAPI) ويعتمد على قاعدة بيانات SQLite (⁠xpblack.db⁠). البوت يقوم بتسليم حسابات الألعاب وإصدار أكواد التحقق (OTP) للعملاء بشكل أوتوماتيكي بناءً على أرقام الطلبات القادمة من منصة سلة (باقة سلة بلس). أواجه حالياً مشكلة ثغرة أمنية في منطق الفحص (Logic Error) تتيح للعملاء التلاعب بالنظام وتجاوز حد المحاولات اليومي للـ OTP، وأحتاج مبرمجاً محترفاً لتعديل ملفات الـ Backend (تحديداً ملفات الدوال في ⁠app.py⁠ و ⁠database.py⁠) لإغلاقها فوراً. 🚨 وصف المشكلة والدورة الحالية (الثغرة): النظام يحتوي على حد أقصى لطلب أكواد الـ OTP لكل لعبة في اليوم. السيناريو الذي يحدث فيه التلاعب هو كالتالي: العميل يشتري (اللعبة أ) برقم طلب معين، ويشتري (اللعبة ب) برقم طلب آخر مستقل (أو حتى يشتري سلة مشتركة تحتوي على عدة ألعاب وتصدر برقم طلب واحد). عندما تنفد محاولاته اليومية لطلب كود OTP في صفحة (اللعبة أ)، يقوم العميل بالدخول إلى صفحة نفس اللعبة (اللعبة أ) ويمسح رقم طلبها، ويضع مكانه رقم طلب (اللعبة ب) الصحيح والجديد. بما أن دالة الـ OTP الحالية تفحص رقم الطلب (⁠order_id⁠) بشكل مجرد في قاعدة البيانات للتأكد من وجوده وصلاحيته فقط دون التدقيق في نوع المنتج، فإن السيستم يقبل الرقم ويقوم بإصدار كود OTP لـ (اللعبة أ) بناءً على رقم طلب (اللعبة ب)! وبذلك تستمر أرقام الطلبات في القبول بجميع الحسابات وتخترق حماية الـ Limit اليومي. 🛠️ التعديل البرمجي المطلوب فوراً: تعديل دالة استقبال طلب الـ OTP في الـ API واستعلام الـ SQL الخاص بها، بحيث يتم فحص شرط مزدوج إلزامي يعتمد على جدول التعيينات: يجب مطابقة رقم الطلب (⁠order_id⁠) المدخل مع كود اللعبة الحالية (⁠game_code_id⁠) المعروضة أمام العميل في الصفحة من خلال جدول التعيينات (⁠game_code_assignments⁠) في قاعدة البيانات. آلية العمل المطلوبة: 1 عندما يستقبل الـ API رقم الطلب وكود اللعبة الحالية، يقوم بعمل استعلام يتحقق من وجود سطر يربط بين هذا الـ ⁠order_id⁠ والـ ⁠game_code_id⁠ المحدد. 2 إذا كان رقم الطلب صحيحاً ومربوطاً فعلياً بهذه اللعبة في جدول التعيينات، يتم قبول الطلب وتوليد كود الـ OTP بشكل طبيعي (سواء كان الطلب يحتوي على لعبة واحدة، أو عدة ألعاب مشتركة مدمجة في نفس رقم الطلب؛ حيث سيكون لكل لعبة سطر تعيين مستقل). 3 إذا تم التحقق أن رقم الطلب هذا يخص لعبة أخرى غير اللعبة الحالية المفتوحة أمام العميل، يتم رفض الطلب فوراً وإظهار رسالة خطأ (رقم الطلب هذا غير مخصص لهذه اللعبة)، وبذلك نضمن عدم تداخل أرقام الطلبات بين الألعاب المختلفة نهائياً.
عرض على مستقل