0Pricing
AI Powered SaaS: Stripe + Auth + Billing + Deploy · درس

متغيرات البيئة وإدارة الأسرار

اضبط تطبيق SaaS بأمان عبر البيئات المختلفة من خلال إدارة الأسرار، وفصل المتغيرات العامة عن الخاصة، وتجنب تسريب المفاتيح إلى العميل.

متغيرات البيئة وإدارة الأسرار درس مجاني في AI Powered SaaS: Stripe + Auth + Billing + Deploy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Powered SaaS: Stripe + Auth + Billing + Deploy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Powered SaaS: Stripe + Auth + Billing + Deploy 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Why Configuration Matters

A SaaS connects to databases, payment providers, and AI APIs — each with keys that differ per environment. Environment variables keep them out of code so one codebase runs anywhere.

The .env File

Local config lives in a .env file as plain key-value pairs. It's loaded at startup and must never be committed to git.

DATABASE_URL=postgresql://localhost/app
STRIPE_SECRET_KEY=sk_test_123
OPENAI_API_KEY=sk-abc

Never Commit Secrets

Never commit secrets: add .env to .gitignore and ship a .env.example with empty values, so teammates know what to fill in without seeing real keys.

# .gitignore
.env
.env.local

Public vs Private Variables

In Next.js, only variables prefixed NEXT_PUBLIC_ reach the browser bundle — everything else stays server-only. Never prefix a real secret, or every visitor sees it.

NEXT_PUBLIC_APP_URL=https://app.com   # safe in browser
STRIPE_SECRET_KEY=sk_live_xxx          # server only

Reading Variables

Read variables through process.env. Server code can access any of them; client code only ever sees the public, NEXT_PUBLIC_ ones.

const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);
const url = process.env.NEXT_PUBLIC_APP_URL;

Validating Env at Startup

A missing key should fail fast, not at 2am in production. Validate required variables on boot with a schema like Zod so problems surface immediately.

import { z } from 'zod';
const env = z.object({
  DATABASE_URL: z.string().url(),
  STRIPE_SECRET_KEY: z.string().min(1)
}).parse(process.env);

Per-Environment Files

Next.js loads .env.local, then .env.development or .env.production. These per-environment files keep different values cleanly separated.

Secrets in Hosting Platforms

In production you don't ship a .env file. Set variables in your host's dashboard — Vercel, Render — so they're injected securely at runtime.

vercel env add STRIPE_SECRET_KEY production

Rotating Keys

If a key leaks, rotate it: generate a new one, update your env store, redeploy. Because keys live outside code, rotation is quick and low-risk.

Avoiding Common Leaks

Watch for common leaks: logging full process.env, returning secrets in API responses, hardcoding keys as fallbacks, or committing a real .env.

Best Practices

Best practices: keep secrets in .env and out of git, expose only truly public values with NEXT_PUBLIC_, validate at startup, and store prod secrets in your host.

Quick Check

Test your secrets knowledge.

Recap

Recap: store config in .env and keep it out of git, use NEXT_PUBLIC_ only for safe values, validate at startup, and set prod secrets in your host.

الأسئلة الشائعة

هل درس «متغيرات البيئة وإدارة الأسرار» مجاني؟

نعم — نص درس «متغيرات البيئة وإدارة الأسرار» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Powered SaaS: Stripe + Auth + Billing + Deploy، انتقل إلى CoddyKit PRO. تتضمن دورة AI Powered SaaS: Stripe + Auth + Billing + Deploy 4 دروس في المجموع.

ماذا ستتعلم في «متغيرات البيئة وإدارة الأسرار»؟

اضبط تطبيق SaaS بأمان عبر البيئات المختلفة من خلال إدارة الأسرار، وفصل المتغيرات العامة عن الخاصة، وتجنب تسريب المفاتيح إلى العميل. تتمرن على AI Powered SaaS: Stripe + Auth + Billing + Deploy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AI Powered SaaS: Stripe + Auth + Billing + Deploy؟

لا تُشترط خبرة سابقة. AI Powered SaaS: Stripe + Auth + Billing + Deploy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «متغيرات البيئة وإدارة الأسرار»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AI Powered SaaS: Stripe + Auth + Billing + Deploy هذا؟

نعم. كل درس في AI Powered SaaS: Stripe + Auth + Billing + Deploy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. مقدمة إلى SaaS وتكامل الذكاء الاصطناعي
  2. اختيار حزمة التقنيات
  3. تهيئة المشروع وبنيته
  4. متغيرات البيئة وإدارة الأسرار
← العودة إلى AI Powered SaaS: Stripe + Auth + Billing + Deploy