هل يمكن جعل django api تعمل في تطبيقات محددة ؟

السلام عليكم

هل يمكن جعل django api تعمل في تطبيقات محددة

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

بالطبع، معظم التطبيقات تستعمل ذلك، هذه مكتبة لـ django rest framework تجعل إنشاء api keys سهل جداً في django

لكن كيف أجعلها تستثني باكيج نام تطبيق معين

يعني تعمل روابط api فقط في التطبيق المحدد

لا، التطبيق سيرسل مع الـ header المفتاح المناسب الذي وضعته أنت على السيرفر و إن لم يكن المفتاح الصحيح سيرسل السيرفر لهم 403 error

بامكانك اخفاء كلمة مرور في الكود المصدري الخاص بتطبيقك.

هذا لن يمنع اي شخص من ايجاد كلمة المرور واستخدام الAPI. لكنك سوف تجعله صعب جداً.

بامكان اي شخص ان يجد كلمة المرور من خلال فك تطبيقك.

قم باستخدام proguard لكي لا يتمكن اي شخص من فهم كودك المصدري اذا قام بفك تطبيقك. ولا تضع كلمة المرور بشكل مباشر في متغير. قم بتعقيد الموضوع مثلاً استخدم دالة مكتوبة بلغة C واجعلها تقوم بارجاع كلمة المرور, بامكانك تسميتها اسم يوحي بانها مسؤولة عن شيء ثاني مثل تعديل الصور. وقم بوضع كود معقد بدون اي هدف لكي تشتت تفكير الهاكر.

من فضلك وضح اكثر

أنا لدي تطبيق اندرويد ، لوحة التحكم وقاعدة البيانات تعمل ب django وpython

المشكلة التي لدي هي أن روابط API الخاص بها قابلة للوصول

يعني أي شخص لديه رابط API يمكنه استعماله

أنا أريد أن يعمل في تطبيقاتي فقط

مجهول أضف ردا

مرة علي سؤال لا ادري ادا كنت نفس شخص

لاكن كما قلت عليك جعل الوصول لل api بعد عملية تسجيل دخول يعني محمي بكلمة سر

غير هيك لايوجد شي سيمنع الوصول اليه

هناك أكثر من طريقة،

  1. أبحث عن JWT Tokens

  2. كون خوارزمية سرية خاصة بك

أضف parameter لكل الـrequests سمه token مثلاُ

الـtoken تحتوي على رمز تكونه خوارزمية سرية، بناءاً على عوامل متغير كالوقت مثلاً أو بقية الـparameters

مثلاً

md5(unixtime- digit + 534)

والسيرفر يقوم بتوليد الرمز بنفس الخوارزمية ومن ثم يقارن النتيجة مع ما استلمه مع الـrequest

  1. ثم تأكد من مناسبتها لغرضك. قد يكفيك توليد رمز عشوائي بطريقة آمنة (كما تفعل المكتبة التي ذكرها mr_student). يوجد من ينصح بعدم استخدام JWT.

  2. هذا مشابه لفكرة الـOne Time Password.

2.1. النصيحة الجارية هي أن لا تستخدم خوارزمية كتبتها بنفسك في مجال الأمان. الخوارزميات المعتمدة والمختبرة من قبل خبراء أضمن. ابحث عن OTP والمكتبات التي توفرها.

2.2. لا أعرف هل OTP مناسبة لأن تستخدم كـAPI Key أو لا، وإن كانت مناسبة هل تضيف أي حماية أو لا. إن استخدمتها ستحتاج لمفتاح يعرفه السيرفر والتطبيق لتمرره للخوارزمية. هذا المفتاح يعادل الـAPI Key لأنه أ) معروف للسيرفر والتطبيق، ب) يستطيع سارقه تنفيذ طلبات إلا لو تغير (بإضافة الـAPI Key أو توليد OTP). الفرق أنك سترسل OTP مختلف كل فترة.