freeCodeCamp/guide/arabic/miscellaneous/storing-mongo-username--pas.../index.md

9.2 KiB

title localeTitle
Storing Mongo Username Password Persistently Using Dotenv تخزين Mongo اسم المستخدم كلمة المرور باستمرار باستخدام Dotenv

تخزين المعلومات الآمنة للتطبيقات مع dotenv

تتعلق هذه المقالة بحفظ معلومات بيانات اعتماد اسم المستخدم وكلمة المرور للوصول الآمن إلى قاعدة البيانات على مواقع جهات خارجية مثل mLab في بيئة الاختبار المحلية الخاصة بك لحمايتها من أي شخص ينظر إلى مستودعك العام على موقع مثل github.

يجب عدم تخزين المعلومات الآمنة أو الخاصة داخل الكود الخاص بك ودفعها إلى مستودع ، لأنه سيكون عرضة للجمهور مما يعرض معلوماتك للخطر ، ويعرضك لخطر فقد API أو الوصول إلى قاعدة البيانات إذا كان شخص ما يستخدم بيانات الاعتماد الخاصة بك بطريقة احتيالية.

تناقش مقالة wiki هذه كيفية حماية بيانات الاعتماد الخاصة بك باستخدام أمر التصدير ، ولكن لجعل هذه المتغيرات مستمرة لديك خياران. ومع ذلك ، يتم مسح متغيرات enivorment التي تم تعيينها بهذه الطريقة في كل مرة يتم فيها إعادة تشغيل shell ، مثل عند إيقاف تشغيل الكمبيوتر وإعادة التشغيل لجلسة ترميز جديدة.

سيتعين عليك مراجعة كافة الخطوات مرة أخرى لتعيين متغيرات البيئة في كل مرة تقوم فيها ببدء تشغيل shell طرفية جديد. هذا يعني أنك ستحتاج إلى تخزين بيانات الاعتماد الخاصة بك في ملف نصي في مكان ما ، أو متابعة البحث عنها في حساب الطرف الثالث الخاص بك (مثل mLab).

يصبح القيام بذلك في كل مرة تبدأ فيها جلسة جديدة أمرًا مملاً ، بدلاً من تخزينها في الشفرة نفسها حيث يسهل العثور عليها ، سأوضح لك طريقة لاستخدام الملف النصي واستيراد بيانات الاعتماد الخاصة بك.

الخيار الأول هو استخدام ملف تعريف shell الخاص بك وتصدير هذه المتغيرات في كل مرة تقوم فيها بتشغيل محطة طرفية جديدة. ومع ذلك ، فعلى مدى بضعة أسابيع من تطوير التطبيقات والمشروعات الجديدة ، يمكن أن ينسحب بروفايل Shell الخاص بك مع قائمة هائلة من المتغيرات التي لن تحتاج إليها كل جلسة. تحتاج فقط إلى بيانات الاعتماد الخاصة بالتطبيق الذي تعمل عليه حاليًا.

تنظيف git repo يحتوي على بيانات اعتماد آمنة

إذا قمت بالفعل بدفع مستودع التخزين الخاص بك إلى github مع بيانات الاعتماد الخاصة بك المخزنة في codebase ، فإن حذفها ببساطة ودفعها مرة أخرى لن يساعد ، لأن بيانات الاعتماد الخاصة بك يتم تخزينها في السجل الخاص بك ، والتي تكون مرئية للجمهور كذلك. إذا كانت هذه هي الحالة ، استخدم هذه الأوامر لإعادة ضبط مستودع git الخاص بك.

أولا ، حذف الريبو الخاص بك من جيثب. ستنشئ واحدة جديدة عندما نكون جاهزين.

ثانياً ، احذف مستودع git المحلي من دليل عملك.
-تحويل الدلائل إلى دليل العمل الخاص بك. يجب أن يكون ملف .git repo موجودًا هنا.
حذار: استخدام علامة -rf يمكن حذف القرص بأكمله إذا لم يتم استخدامه بشكل صحيح. أستخدم علم -i ، الذي يشير إلى التفاعلي للتأكد من أنني في الدليل الصحيح. بعد الفرز من خلال بعض الملفات وأنا متأكد 100 ٪ أنا في المكان المناسب ، سأقتل هذا الأمر وتشغيله مرة أخرى دون العلم -i. افعل ما تشعر به أكثر راحة ، ولكن يُنصح أن يكون لديك نسخة احتياطية كاملة من جهاز الكمبيوتر الخاص بك (في أكثر من مكان) قبل تشغيل الأمر --rm.

cd <project-name> rm -i -rf .git

ثالثًا تأكد من تحديث ملف .gitignore لتضمين ملف .env بالإضافة إلى أي مجلدات أخرى ترغب في الاحتفاظ بها خاصة. يمكن أن تكون ملفات IDE المحلية مثل .idea / في حالة استخدام jetbrains في هذا الملف. ملفي .gitignore يشبه هذا. لاحظ أنه يمكنك إضافة مجلد أو ملف هنا قبل إنشائه دون التسبب في أي أخطاء.

.gitignore
node_modules
.env
البيانات/
.فكرة/

وأخيرا إنشاء مستودع جديد. أنت الآن على استعداد للاستمرار في إنشاء ملف .env ودفع الريبو الخاص بك بأمان إلى جيثب والحفاظ على بيانات الاعتماد الخاصة بك آمنة.

git init

كيفية استخدام dotenv في التطبيق المحلي الخاص بك

هذا هو المكان الذي يمكن أن يساعد وحدة dotenv عقدة. لاستخدام dotenv ، تحتاج إلى طلب ذلك في رمز التطبيق الخاص بك ، استدعاء الدالة config () عليه والتي تسحب بيانات الاعتماد الخاصة بك من ملف مخزن محلياً على جهاز الكمبيوتر الخاص بك. يدعى هذا الملف .env

الخطوة 1: إنشاء ملف .env وتخزين المتغيرات الخاصة بك فيه
MONGOLAB_URI="mongodb://username:password@ds01316.mlab.com:1316/food"

الخطوة 2: يتطلب dotenv في التطبيق الرئيسي الخاص بك
في app.js الرئيسي الخاص بك (أو أيا كان ما app.js )
var dotenv = require('dotenv');

الخطوة 3: استدعاء وظيفة التكوين على المتغير الخاص بك. (لاحظ أن كل ذلك يمكن القيام به في سطر واحد عن طريق الربط ، لكني أحب رؤية حدوث ذلك كنشاط منفصل).
dotenv.config();

الخطوة 4: قم بتعيين عنوان mongodb الخاص بك عن طريق استدعاء المتغيرات الخاصة بالعملية الخاصة بك:
var url = process.env.MONGOLAB_URI;

يحافظ هذا الحل على تنظيف التعليمات البرمجية الخاصة بك من بيانات الاعتماد الآمنة التي لا تريد دفعها إلى مستودع عام ، مع الحفاظ على تنظيم كل تطبيق بدقة وتوفير الوقت أثناء التطوير.

المراجع:

osxdaily.com

! [] (http://cdn.osxdaily.com/wp-content/uploads/2014/08/terminal-icon-osx.png) ### أين يمكن تعيين متغيرات البيئة في نظام التشغيل Mac OS X في سطر الأوامر ، يتم تعريف المتغيرات البيئية للقشرة الحالية وتصبح موروثة بأي أمر تشغيل أو عملية. يمكنهم تحديد أي شيء من shell الافتراضي ، PATH ، ...

stackoverflow.com

! [Drake Main ] (http://stackoverflow.com/users/4956243/drake-main) #### أفضل الممارسات عند استخدام مفتاح API في Node.js

** node.js، api-key **

بطلب من دريك ماين في 07:05 صباحا - 12 فبراير 16

stackoverflow.com

! [Peiniau ] (http://stackoverflow.com/users/105813/peiniau) #### كيف تحذف بالكامل مستودع git تم إنشاؤه باستخدام init؟

** git، git-init **

بقلم Peiniau في الساعة 04:06 مساءً - 31 يوليو 09