تخطَّ إلى المحتوى
المحتويات
المواقع الإلكترونية

تخزين أسرار التطبيق لموقع

ترجمة آلية، النص الأصلي باللغة الإنجليزية متاح عند الحاجة.

تعالج علامة التبويب Secrets مخزنًا مشفرًا للقيم الحساسة في الإعدادات التي يحتاجها تطبيق Node.js، مثل مفاتيح API وأسرار التوقيع ورموز الجهات الخارجية، ويُحتفَظ بها لكل بيئة على حدة بحيث لا تختلط بيانات اعتماد الإنتاج الخاصة بك ببيانات اعتماد المعاينة أبدًا.

أين تُحفظ الأسرار

افتح المواقع، ثم انقر على الموقع، ثم افتح مجموعة Environment في القائمة اليسرى للموقع، واختر الأسرار. عنوان التبويب هو الأسرار.

لا تظهر هذه العلامة إلا في مواقع Node.js. لا تعرضها مواقع WordPress و PHP والمواقع الثابتة، لأن إعداداتها محفوظة في ملفات على القرص بدلًا من ذلك: wp-config.php بالنسبة لـ WordPress، وأيًا كان ما يقرأه إطار العمل الخاص بك لتطبيق PHP بسيط.

علامة تبويب Secrets لموقع Node.js في KPanel

كيف تُحمى القيم

تُشفَّر كل قيمة قبل أن تصل إلى قاعدة البيانات. لا يُخزَّن شيء كنص مقروء، وعرض القائمة لا يُظهر أبدًا القيمة كاملة: فهو يُظهر قناعًا يحتوي فقط على آخر أربعة أحرف، بحيث يمكنك التمييز بين مفتاحين متشابهين دون كشف أي منهما.

يحمل كل صف شارة Encrypted كتذكير بذلك. قراءة القيمة مرة أخرى إجراء منفصل ومتعمد وليس شيئًا يحدث بمجرد فتح الصفحة.

يتطلب ضبط السر وكشفه وحذفه جميعًا صلاحية sites:write. يمكن لعضو الفريق ذي الصلاحية للقراءة فقط رؤية المفاتيح الموجودة وأقنعتها، لكن ليس قيمها الفعلية.

البيئتان

يُبدِّل عنصر تحكم مقسّم أعلى الصفحة بين production وpreview. وهما مجموعتان منفصلتان تمامًا من المفاتيح. ضبط STRIPE_SECRET_KEY في بيئة الإنتاج لا يُنشئه في بيئة المعاينة، وحذفه من بيئة المعاينة لا يمسّ بيئة الإنتاج.

هذا الفصل هو بيت القصيد في هذه الميزة. بيئات المعاينة بيئات مؤقتة يمكن لأي شخص لديه وصول إلى المستودع إطلاقها، لذا ينبغي أن تحمل بيانات اعتماد اختبارية لا حيّة. راجع نشر المعاينة لطلبات السحب لمعرفة كيفية إنشاء بيئات المعاينة.

إضافة سر أو تحديثه

  1. اختر البيئة باستخدام عنصر التحكم المقسّم.
  2. اكتب الاسم في حقل KEY_NAME. يفرض الحقل الأحرف الكبيرة أثناء الكتابة.
  3. ضع القيمة في الحقل الثاني. تُخفى القيمة أثناء الكتابة.
  4. انقر على Set.

ضبط مفتاح موجود بالفعل يستبدله. لا يوجد إجراء تحرير منفصل ولا خطوة تأكيد عند الاستبدال، لذا تحقق من تبويب البيئة قبل النقر على Set.

قواعد أسماء المفاتيح

يجب أن يبدأ المفتاح بحرف كبير، ويمكن أن يحتوي بعد ذلك على أحرف كبيرة وأرقام وشرطات سفلية، بحد أقصى 128 حرفًا. DATABASE_URL وAPI_KEY_V2 وSENTRY_DSN جميعها صالحة. يُرفض أي شيء آخر برسالة Key يجب أن يكون UPPER_SNAKE_CASE أحرف/أرقام/شرطة سفلية.

وهناك حدّان آخران يستحقان المعرفة:

  • لا يمكن أن تكون القيمة فارغة. إرسال قيمة فارغة يُعيد الرسالة القيمة مطلوبة.
  • لا يمكن أن تتجاوز القيمة 16 كيلوبايت. هذا حجم كافٍ لرمز مميز لكنه غير كافٍ مثلًا لسلسلة شهادات كاملة، والتي ينبغي أن تكون في ملف بدلًا من أن تكون سرًا.

قراءة قيمة مرة أخرى

انقر على Copy في الصف. يقوم KPanel بفك تشفير القيمة على جانب الخادم ووضعها مباشرة في حافظتك، مع تأكيد تم نسخ القيمة إلى الحافظة. لا تُطبع القيمة على الشاشة، لذا فإن مشاركة الشاشة أو شخصًا يتطفل من خلف كتفك لن يلتقطها.

يُسجَّل كل كشف للقيمة في سجل تدقيق الموقع، مع ذكر من قام به وأي مفتاح، ويظهر في سجل نشاط الموقع.

إذا احتجت إلى التحقق من صحة قيمة دون كشفها، فقارن القناع بدلًا من ذلك. آخر أربعة أحرف كافية لتأكيد أن لديك الرمز الصحيح، وهي موجودة بالفعل على الشاشة.

استخدام سر في تطبيقك

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

لا تقم بترحيل (commit) ذلك الملف إلى مستودعك. أضف .env إلى .gitignore قبل إنشائه. أي سر تم دفعه إلى مستودع git بعيد يجب التعامل معه على أنه مُسرَّب وتدويره لدى المزوّد، لأنه يبقى في السجل التاريخي حتى بعد حذف الملف.

علامة التبويب Secrets هي سجلّك لما تكون عليه القيمة، محفوظة مشفرة ومدققة، وليست ملاحظة في مدير كلمات مرور أو في سلسلة رسائل. حافظ عليها كمصدر الحقيقة الوحيد: فعندما تُدوِّر مفتاحًا لدى المزوّد، حدّثه هنا في الوقت نفسه، كي يكون لدى الشخص التالي الذي سينشر التطبيق القيمة الحالية.

حذف سر

انقر على Delete في الصف. يطلب منك KPanel التأكيد بعبارة Delete API_TOKEN؟ ويحذّر من أن التطبيق سيفقد الوصول إلى هذه القيمة عند إعادة تشغيله التالية. لا يوجد تراجع ولا نسخة محفوظة، لذا إن كنت قد تحتاج إلى القيمة مرة أخرى، انسخها أولًا.

احذف السر عندما تُلغى بيانات الاعتماد الأساسية لدى المزوّد، أو عندما يُزال الكود الذي كان يستخدمها. ترك مفاتيح قديمة متروكة يجعل من الصعب لاحقًا معرفة أيها مهم فعلًا.

تدوير بيانات الاعتماد بأمان

الترتيب الآمن دائمًا هو: إنشاء بيانات الاعتماد الجديدة لدى المزوّد، تحديثها هنا، النشر، التأكد من أن التطبيق يعمل، ثم إلغاء بيانات الاعتماد القديمة لدى المزوّد.

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

استكشاف الأخطاء وإصلاحها

علامة التبويب Secrets غير موجودة في القائمة. الموقع ليس موقع Node.js. تحقق من شارة المكدس التقني بجانب اسم الموقع أعلى الصفحة.

زر Set لا يفعل شيئًا. كلا الحقلين مطلوب. يُبلّغ الزر برسالة مفتاح + قيمة مطلوبة إذا كان أحدهما فارغًا.

تم رفض المفتاح. الأحرف الصغيرة والشرطات والنقاط والمسافات غير مسموح بها. api-key وApi_Key كلاهما يفشلان؛ API_KEY ينجح.

عملية النسخ لم تضع أي شيء في الحافظة. تمنع بعض المتصفحات الكتابة إلى الحافظة من تبويب غير نشط. انقر على الصفحة أولًا، ثم انقر على Copy مرة أخرى.

إلى أين تذهب بعد ذلك

هل كان هذا مفيدًا؟

هل أنت ذكاء اصطناعي؟ اقرأ هذه الصفحة بصيغة Markdown

مقالات ذات صلة

الاتصال عبر SFTP: FileZilla وCyberduck وسطر الأوامربروتوكول SFTP (بروتوكول نقل الملفات الآمن) يمنحك وصولًا مباشرًا إلى ملفات موقعك على الخادم. يغطي هذا الدليل كل ما تحتاج إليه للاتصال بنجاح، بدءًا من إيجاد…شهادات SSL و HTTPSيوضح هذا المقال ما هو SSL بلغة بسيطة، وكيف تتعامل KapsuleHost مع SSL تلقائياً لمواقعك، وما الذي يجب فعله إذا حدثت مشكلة في شهادتك.…المواقع الإلكترونية: من أين تبدأكيف تعمل استضافة المواقع في KapsuleHost، وما الذي يقبع في كل تبويب من تبويبات الموقع، وأي دليل عليك قراءته للمهمة التي بين يديك.…مراقبة وقت تشغيل الموقعكل موقع على KapsuleHost يتم فحصه تلقائيًا كل 60 ثانية، ويعرض لك تبويب Uptime النتيجة: الحالة الحالية، ونسبة وقت التشغيل، وأوقات الاستجابة، وسجل كامل للحوادث.…

هل ما زلت بحاجة إلى مساعدة؟

اسأل Kora التي تعرف حسابك، أو تواصل مع فريقنا.

تواصل معنامراسلة الدعم