اذهب إلى المحتوى

السؤال

نشر

عند عمل مشروع بإستخدام فلاسك Flask أو جانغو Django، يُنصح في كل مكان بالاحتفاظ بالمفاتيح السرية Secret Keys في ملف منفصل عن إعدادات التطبيق. أيضًا، يجب ألا يتم رفع الملف الذي يحتوي على المفاتيح السرية مثل SECRET_KEY إلى GitHub أو أي مكان آخر. لكن عند نشر المشروع على خادم حقيقي Production Server، سأحتاج إلى الوصول إلى المفاتيح السرية بالتأكيد لكي يعمل الموقع بشكل سليم، وهذا يعني أنه يجب رفع الملف الخاص بالمفاتيح السرية إلى الخادم، إذا كان الأمر كذلك، كيف أحمي المفاتيح السرية في مرحلة الإنتاج Production؟

Recommended Posts

  • 1
نشر

تُوجد عدة طُرق لإخفاء المفاتيح السرية Secret Keys في مرحلة الإنتاج Production من بينها:

  • إخفاء المفاتيح داخل متغيرات بيئة المُستخدم Environment Variables
    #  في نظام لينكس لإخفاء  المفاتيح السرية نستعمل 
    export SECRET_KEY = 'اكتب المفتاح السري هنا'
     وبعدها إستدعاؤها من داخل الشيفرة.
    import os
    SECRET_KEY = os.environ['SECRET_KEY']

     

  • حفظ الأرقام السرية داخل ملف .env

    # ملف .env
    SECRET_KEY = 'اكتب المفتاح السري هنا'

    بعدها يُمكن إستعمال مكتبة بايثون python-decouple لإسترجاعها:

    from decouple import config
    SECRET_KEY = config('SECRET_KEY')

    ملاحظة: لتثبيت مكتبة python-decouple يُرجى كتابة الأمر

    pip install django-generate-secret-key

     

  • إذا كُنت تستخدم جانغو فيُمكنك أيضا إنشاء مفتاح سري حال الإنتاج باستخدام تطبيق جانغو django-generate-secret-key الذي يسمح بإنشاء المفتاح باستخدام الأمر:

    python manage.py generate_secret_key

     

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...