![]() |
لا تتجاهل ملف .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، لكانوا تجنبوا الكارثة