شارك المقالة

كيفية الحصول على عنوان السيرفر من ملف .env لحماية البيانات في Node.js

لا تتجاهل ملف .env!.. هذا ما يحدث لتطبيقاتك إذا فعلت

كيفية الحصول على عنوان السيرفر من ملف .env لحماية البيانات في Node.js

في عالم تطوير الويب، تُعد حماية البيانات الحساسة مثل كلمات المرور وعناوين السيرفرات من الأولويات القصوى. عند بناء تطبيقات باستخدام Node.js ، يُنصح دائمًا بتجنب كتابة البيانات الحساسة مباشرة في الكود (Hardcoding) لتجنب التسريبات الأمنية. هنا يأتي دور ملف .env، الذي يُستخدم لتخزين المتغيرات البيئية بشكل آمن. في هذا المقال، سنستعرض خطوات استخراج عنوان السيرفر من ملف .env في Node.js


ما هو ملف .env؟

ملف .env (Environment Variables File) هو ملف نصي يُستخدم لتخزين إعدادات البيئة مثل:

  • عناوين قواعد البيانات.
  • مفاتيح APIs.
  • معلومات الاتصال بالسيرفرات.

يُمنع رفع هذا الملف إلى مستودعات الكود العامة (مثل GitHub) لضمان أمان البيانات.


خطوات الحصول على عنوان السيرفر من ملف .env

إنشاء ملف .env

أنشئ ملفًا باسم .env في مجلد مشروعك، وأضف إليه عنوان السيرفر

BASE_URL=https://example.com


تثبيت حزمة dotenv

تُستخدم حزمة dotenv لقراءة المتغيرات من ملف .env

npm i dotenv


تحميل المتغيرات في التطبيق
في ملفك الرئيسي (مثل app.js أو server.js)

استخدم متغير process.env.BASE_URL للحصول على عنوان السيرفر.


مثال حول استخدام env في كود nodejs
const mongoose = require('mongoose')
require('dotenv').config();

mongoose
  .connect(process.env.BASE_URL, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  })
  .then(() => {
    console.log("DB Connected");
  })
  .catch((err) => console.log(err));
ويمكن استخدام الكود السابق بشكل مباشر في مشروعك مثل الشكل التالي
const express = require('express')
const UserRouter = require('./route/login-router');
// استخدام تثبيت المكتبة بشكل مباشر
require('./configer/db');
var bodyParser = require('body-parser')

const PORT = 3000;
const app = express();
app.use(express.json());

app.use("/user",UserRouter);

app.listen(PORT,()=> {
    console.log("Server running")
});

أدوات مُساعِدة لإدارة البيئة (Environment) في Node.js

  • Dotenv Vault : لإدارة متغيرات البيئة عبر الفرق والبيئات المختلفة.
  • PM2 : مدير عمليات Node.js يدعم تحميل ملفات .env تلقائيًا.
  • Webpack : لحقن المتغيرات البيئية أثناء البناء (Build Time).

كيف تسببت أخطاء .env في كارثة لتطبيق شهير؟

في عام 2021، تعرض تطبيق Parler لاختراق كبير بسبب تخزين بيانات AWS في الكود المصدري على GitHub. لو استخدموا .env، لكانوا تجنبوا الكارثة

شاهد أيضًا
مقالات ذات صلة
كود بلغة الجافا لطباعة رسمة المربع و المستطيل | Draw a rectangle in Java

  شرح طباعة مربع بلغة الجافابعده تقدمنا في تقديم دروس تعلم لغة البرمجة جافا الان…

كود برنامج برولوج يقوم بحساب مساحة الدائرة swi prolog code

 كود برنامج برولوج يقوم بحساب مساحة الدائرة swi prolog code تعتبر لغة prolog او logic…

ماهي Hooks ولماذا عليك البدء في استخدامها في مشايعك داخل Flutter

ماهي Hooks ولماذا عليك البدء في استخدامها في مشايعك داخل Flutterفي السنوات الأخيرة، أصبحت Flutter…

🚫 مانع الإعلانات مفعل

يجب إيقاف مانع الإعلانات لاستكمال تصفح الموقع