شارك المقالة

كيفية الحصول على عنوان السيرفر من ملف .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، لكانوا تجنبوا الكارثة

شاهد أيضًا
مقالات ذات صلة
ترجمة كامله لتطبيقك باستخدام مكتبة easy localization مع شرح الاستخدام في Flutter

ترجمة كامله لتطبيقك باستخدام مكتبة easy localization مع شرح الاستخدام في Flutterمكتبة easy_localization هي مكتبة…

شرح كيفية تغيير الايقونه اثناء النقر عليها مع animation في فلاتر

شرح كيفية تغيير الايقونه اثناء النقر عليها مع animation في فلاتر في هذا المقال نشرح…

كيفية إنشاء bottomSheet تفاعلي مع إمكانية التمرير في Flutter لملئ الشاشه

إنشاء custom bottomSheet مع امكانية عمل سكرول لملئ الشاشه في Flutter في هذا الجزء سوف…

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

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