مُهرِّب كلمات المرور لملفات .env

اكتب كلمة مرور في سطر .env يقرؤه الشل أو dotenv في Node.js أو python-dotenv أو docker --env-file كما هي تمامًا، بما فيها علامات الاقتباس و$.

يُقتبس كل سطر بحيث يقرأ المحلّل كلمة مرورك بالضبط: تستخدم الصدفة علامات اقتباس مفردة مع '\'' لكل علامة اقتباس، ويختار dotenv في Node علامات مفردة أو مزدوجة أو مائلة، ويهرّب python-dotenv الرمزين \ و\' داخل العلامات المفردة، ويأخذ docker --env-file بقية السطر حرفيًا (بلا علامات اقتباس).

يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.

ما هو مُهرِّب كلمات المرور لملفات .env؟

كثيرًا ما تكسر كلمات المرور التي تحتوي علامات اقتباس أو علامات دولار أو # أو شرطات مائلة عكسية ملفات .env أو تتغير بتوسعة المتغيرات. تكتب هذه الأداة أسطر KEY=value يقرؤها كل محلل بحيث تساوي كلمة مرورك تمامًا، وتحذّر عندما يعجز محلل عن تمثيل القيمة.

كيفية استخدام مُهرِّب كلمات المرور لملفات .env

  1. أدخل اسم المتغير، مثل DB_PASSWORD.
  2. اكتب كلمة المرور في حقل كلمة المرور.
  3. انسخ السطر لهدفك: shell/POSIX أو dotenv في Node.js أو python-dotenv أو docker run --env-file.
  4. الصقه في ملف .env.

مثال

الإدخال
Variable DB_PASSWORD, password p@ss'w"rd$1
الإخراج
Shell: DB_PASSWORD='p@ss'\''w"rd$1'
Node dotenv: DB_PASSWORD=`p@ss'w"rd$1`
python-dotenv: DB_PASSWORD='p@ss\'w"rd$1'
docker --env-file: DB_PASSWORD=p@ss'w"rd$1

متى تستخدم مُهرِّب كلمات المرور لملفات .env

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

كيف يعمل مُهرِّب كلمات المرور لملفات .env

الشل: تُلَفّ القيمة بعلامتي اقتباس مفردتين ويصبح كل ' هو '\'' (لا توسعة داخل الاقتباس المفرد). Node dotenv (الإصدار 15+): الاقتباس المفرد حرفي؛ وإذا احتوت القيمة على ' فتُستخدم علامات اقتباس مزدوجة (يُفسَّر \n و\r فقط)، وإلا الأقواس المائلة العكسية؛ والقيم المنتهية بشرطة مائلة عكسية أو المحتوية على أنواع الاقتباس الثلاثة لا يمكن تمثيلها. python-dotenv: اقتباس مفرد مع تهريب \ و' إلى \\ و\'. docker --env-file: بلا اقتباس إطلاقًا؛ وباقي السطر هو القيمة، فالأسطر الجديدة مستحيلة.

حالات الاستخدام الشائعة

  • إضافة كلمة مرور قاعدة بيانات فيها $ وعلامات اقتباس إلى ملف .env
  • تجهيز الأسرار لـ docker run --env-file
  • إصلاح قيم dotenv المقطوعة عند #
  • كتابة عبارات export لسكربتات الشل

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

لماذا لا أستخدم علامات الاقتباس المزدوجة ببساطة؟

داخل الاقتباس المزدوج توسّع الأصداف وبعض محمّلات dotenv $VAR وتفسّر الشرطات المائلة العكسية، فتغيّر كلمة المرور بصمت.

لماذا سطر docker --env-file بلا اقتباس؟

لا يعالج docker run --env-file علامات الاقتباس؛ وستصبح جزءًا من القيمة.

هل يستخدم Docker Compose القواعد نفسها؟

لمحلل .env في Docker Compose قواعد استيفاء خاصة به لا تحاكيها هذه الأداة؛ راجع توثيق Compose أو استخدم $$ للدولار الحرفي هناك.

استكشف المزيد من الفئات