انشر مشروعك
انشر مشروعك على عنوان URL عام، وحدّث الموقع المباشر، واربط نطاقًا مخصصًا، أو أوقفه عن العمل.
الوصف
انشر مشروعك على عنوان URL عام، وحدّث الموقع المباشر، واربط نطاقًا مخصصًا، أو أوقفه عن العمل.
مقدمة
يمنح النشر مشروعك عنوان URL عامًا مستضافًا بواسطة Atoms. وتبقى التعديلات المستقبلية في المحرر إلى أن تختار تحديث الموقع المباشر.
استخدم Share عندما تريد أن يفتح شخص ما مشروع Atoms نفسه. واستخدم Publish عندما تريد أن يفتح الزوار الموقع الإلكتروني المكتمل.
قبل النشر
قبل النشر، افتح المشروع في عارض التطبيقات وجرّبه كما لو كان زائرًا يستخدمه.
قبل أن يصبح الموقع مباشرًا، تأكد من أن:
- تختبر مسار المستخدم الرئيسي من البداية إلى النهاية
- تتحقق من أن أي أزرار وروابط ونماذج وتسجيل دخول وخدمات متصلة تعمل بشكل صحيح
- تراجع التخطيطات على كل من سطح المكتب والهاتف المحمول
- تتأكد من أن أي بيانات نموذجية أو تجريبية أو كلمات مرور أو مفاتيح API أو أي معلومات خاصة أخرى غير ظاهرة
أصلح أي شيء قد يعيق الزائر أو يربكه قبل النشر.
راجع المشروع في عارض التطبيقات قبل النشر.
انشر مشروعك لأول مرة
1. افتح Publish
عندما تصبح جاهزًا لوضع المشروع على الإنترنت، حدد Publish في الزاوية العلوية اليمنى، بجوار Share. سيؤدي ذلك إلى فتح لوحة Publish.
لوحة Publish مع عنوان URL للموقع الإلكتروني، وإعدادات المشروع، وترحيل البيانات، وفحص الأمان.
2. عيّن عنوان موقعك الإلكتروني
عنوان URL لموقعك الإلكتروني يعرض عنوانًا مقترحًا بالتنسيق [name].pub.atoms.world. احتفظ به، أو حدد أيقونة القلم لاختيار اسم مختلف.
إذا غيّرت العنوان، فاختر اسمًا متاحًا بحيث:
- يتكون من 6 إلى 30 حرفًا
- يستخدم أحرفًا صغيرة أو أرقامًا أو شرطات فقط
- لا يبدأ بعنوان ويب كامل مثل
https://
سيعرض Atoms خطأ إذا كان الاسم مفقودًا أو غير صالح أو مستخدمًا بالفعل.
إضافة نطاقك تصبح متاحة بعد أول عملية نشر. لربط نطاق تملكه، راجع Domains.
3. راجع الإعدادات المتاحة
إذا كانت اللوحة تعرض Remove Atoms™ Badge، فاستخدمه للتحكم في ظهور الشارة على الموقع المباشر. يعتمد توفره على باقتك.
إذا كان مشروعك يستخدم سحابة Atoms
تتضمن مشاريع سحابة Atoms إعدادات بيانات إضافية في لوحة Publish.
فعّل Migrate existing data إذا كان يجب أن يحتفظ التطبيق المباشر بمنتجاته ومحتواه الحاليين. إذا تركته معطلاً، فقد تحتاج إلى إعادة إنشاء تلك البيانات بعد النشر.
حدد View database لمراجعة البيانات الحالية قبل أن تقرر.
تحقق من فحص الأمان
تحقق من Security scan في أسفل اللوحة. إذا كان يعرض Security scan in progress، فانتظر حتى ينتهي الفحص. ستتغير الحالة إلى Security checked، أو ستعرض اللوحة نتائج تتطلب انتباهك.
إذا اكتشف الفحص مشكلة، فحدد Resolve All وأعد تشغيل الفحص مرة أخرى. اختر Publish Anyway فقط إذا كنت تفهم المخاطر المتبقية وتقبلها. إذا حاولت النشر قبل انتهاء الفحص، فحدد Cancel للانتظار، أو Publish Anyway للمتابعة.
شرح النشر
بمجرد مراجعة الإعدادات المتاحة، انقر فوق زر Publish في اللوحة.
4. تحقق من الموقع المباشر
يعرض الزر Publishing بينما يقوم Atoms بإعداد الموقع. وعندما يصبح جاهزًا، سترى Your app is live!
افتح عنوان URL للموقع الإلكتروني وجرّب مسار المستخدم الرئيسي مرة أخرى. وهذا يؤكد أن الموقع المباشر، وليس فقط عارض التطبيقات، يعمل كما هو متوقع.
تأكيد Your App is Live مع عنوان URL المنشور وزر View app.
إدارة موقع إلكتروني منشور
افتح عنوان URL المباشر أو انسخه
افتح Publish لرؤية Your website URL. حدد عنوان URL لفتح الموقع المباشر، أو حدد أيقونة النسخ لنسخه.
شارك عنوان URL هذا مع الزوار. استخدم Share فقط عندما تريد مشاركة مشروع Atoms نفسه.
إضافة نطاق مخصص أو إدارته
بعد نشر مشروعك، يصبح خيار Add your domain متاحًا. لاستخدام نطاقك الخاص، راجع Domains.
انشر التغييرات اللاحقة
تبقى تعديلاتك في عارض التطبيقات حتى تحدّث الموقع المباشر. لنشرها:
- اختبر التغييرات في
عارض التطبيقات - انقر فوق Publish في الزاوية العلوية اليمنى
- راجع أي إعدادات تريد تغييرها.
- حدد Update لنشر أحدث إصدار من المشروع.
- انتظر بينما يعرض الزر Updating...
- عندما تتغير الحالة إلى Up to date، افتح عنوان URL المباشر واختبر المسار المحدّث.
إذا كانت اللوحة تعرض بالفعل Up to date، فهذا يعني أن أحدث إصدار مباشر.
إيقاف تطبيق من سحابة Atoms مؤقتًا أو استئنافه
App Status متاح فقط لمشاريع سحابة Atoms المنشورة.
إيقاف التطبيق مؤقتًا
- انقر فوق Publish، ثم انقر فوق App Status
- حدد خيار Paused
- راجع الرسالة وانقر فوق Confirm
يصبح التطبيق غير متاح للزوار. وتستمر الفوترة أثناء إيقافه مؤقتًا.
استئناف التطبيق
- افتح App Status
- حدد خيار Live
- راجع الرسالة وانقر فوق Confirm
يصبح التطبيق متاحًا مرة أخرى عندما تعود الحالة إلى Live.
خيارات App Status: Live وPaused وUnpublished.
إلغاء نشر مشروع
يؤدي إلغاء النشر إلى إيقاف الموقع الإلكتروني عن العمل. سيفقد أي شخص يستخدم عناوين URL المنشورة إمكانية الوصول، ولكن يمكنك نشر المشروع مرة أخرى لاحقًا.
مشروع قياسي
- افتح Publish
- حدد Unpublish your project
- راجع الرسالة وانقر فوق Confirm
مشروع سحابة Atoms
- افتح Publish
- اختر Unpublished من App Status، أو حدد Unpublish في Settings
- راجع الرسالة وانقر فوق Confirm
بالنسبة إلى مشروع من سحابة Atoms، يوضح التأكيد أيضًا أنه سيتم تحرير موارد الخادم. راجعه بعناية قبل المتابعة.
تحذير تأكيد إلغاء النشر بأن التطبيق ستتم إزالته من الوصول العام.
استكشاف الأخطاء وإصلاحها
تم رفض عنوان الموقع الإلكتروني
تحقق من أن الاسم يتكون من 6 إلى 30 حرفًا ويحتوي فقط على أحرف صغيرة أو أرقام أو شرطات. إذا كان التنسيق صالحًا، فقد يكون الاسم مستخدمًا بالفعل — جرّب اسمًا آخر.
التغييرات الأخيرة ليست مباشرة
انقر فوق Publish. إذا ظهر خيار Update، فانقر فوقه وانتظر حتى يعرض Up to date. ثم أعد فتح الموقع الإلكتروني المباشر أو حدّثه.
تعذر Publish أو تعذر Update
إذا كانت الرسالة تقول Your Cloud Balance is insufficient to publish أو Your Cloud Balance is insufficient to update، فهذا يعني أن Cloud Balance لديك قد نفد. حدد Top up now وزد رصيدك قبل المحاولة مرة أخرى.
إذا كانت الرسالة تقول إن التخزين ممتلئ، فحرر مساحة تخزين أو انتقل إلى باقة توفر مساحة أكبر، ثم حاول مرة أخرى.
لم ينتهِ فحص الأمان أو يعرض نتائج
إذا كان يعرض وجود Security scan in progress، فالرجاء الانتظار إن أمكن. عند انتهاء الفحص، سيتغير إما إلى Security checked أو سيعرض أي نتائج تحتاج إلى الانتباه.
إذا ظهرت نتائج، يمكنك النقر فوق Resolve All والتحقق من المشروع مرة أخرى. انقر فوق Publish Anyway فقط إذا كنت تفهم المخاطر غير المحلولة وتقبلها. إذا حاولت النشر بينما لا يزال الفحص قيد التشغيل، فانقر فوق Cancel للانتظار حتى ينتهي أو أكد Publish Anyway للمتابعة.
الرابط المنشور غير متاح
بالنسبة إلى تطبيق من سحابة Atoms، تحقق من أن App Status هي Live. وبالنسبة إلى أي مشروع، أكد أنك نسخت عنوان URL الحالي للموقع الإلكتروني وأن المشروع لم يتم إلغاء نشره.
إذا كان عنوان URL المستضاف بواسطة Atoms يعمل ولكن custom domain لا يعمل، فراجع إعداد النطاق.
الاتصال بالدعم
إذا استمرت المشكلة، فاتصل بـ Support وضمّن ما يلي:
- اسم المشروع وعنوان URL المنشور
- رسالة الخطأ الدقيقة
- وقت حدوث المشكلة
- لقطة شاشة أو تسجيل شاشة قصير يوضح المشكلة
الأسئلة الشائعة
لماذا لا يمكنني النشر أو التحديث؟ تظهر رسالة بأن Cloud Balance لدي غير كافٍ.
إذا كان زر Publish أو Update يعرض "Your Cloud Balance is insufficient to publish" أو "Your Cloud Balance is insufficient to update," فهذا يعني أن محفظة Cloud لديك قد نفدت.
لإصلاح ذلك:
1. انتقل إلى Settings > Cloud & AI للتحقق من رصيدك الحالي.
2. حدد Top up now وأضف أموالاً إلى محفظة Cloud الخاصة بك.
3. ارجع إلى لوحة Publish وحاول مرة أخرى.
ملاحظة: محفظة Cloud الخاصة بك منفصلة عن رصيد اشتراكك. تموّل محفظة Cloud خدمات الاستضافة والنشر، بينما يُستخدم رصيد الاشتراك لمحادثات وكيل الذكاء الاصطناعي.
يُقال لي إن مساحة التخزين ممتلئة ولا يمكنني النشر. كيف أحرر مساحة؟
- تحقق من عرض استخدام التخزين وحدد أكبر الدردشات والمشاريع والملفات.
- نزّل أو انسخ احتياطيًا أي شيء قد تحتاج إليه لاحقًا.
- احذف العناصر غير الضرورية فقط. إذا كان حذف الدردشة يعرض إزالة بيانات القرص المرتبطة، فحدد هذا الخيار فقط بعد التأكد من أن البيانات يمكن الاستغناء عنها بأمان.
- حدّث الصفحة وتأكد من أن مساحة التخزين المتاحة قد زادت.
- ارجع إلى Publish وأعد المحاولة مرة واحدة.
قد يكون الحذف دائمًا وقد يؤدي إلى تعطيل مشروع يشير إلى ملف تمت إزالته. إذا لم ينخفض الاستخدام، فاتصل بـ Support مع عرض التخزين، والباقـة، ورابط المشروع، ووقت فشل النشر.
اكتشف فحص الأمان مشكلات. هل لا يزال بإمكاني النشر؟
انتظر حتى ينتهي فحص الأمان، ثم راجع كل عنصر تم وضع علامة عليه قبل النشر.
- حدد Resolve All وافحص السلوك المتأثر. أصلح المشكلات التي تتضمن أسرارًا مكشوفة أو مصادقة أو أذونات أو بيانات مستخدم أو وصولًا خارجيًا غير آمن قبل الاستخدام في الإنتاج.
- إذا كان من المحتمل أن يكون سر قد انكشف، فأزله من المشروع وقم بتدويره عبر المزوّد المعني قبل النشر.
- شغّل الفحص مرة أخرى وتحقق من المسار المتأثر.
- استخدم Publish Anyway فقط عندما يفهم مراجع مسؤول المخاطر المتبقية غير الحرجة ويقبلها. دوّن السبب وتجنب تجاوز خطر غير محلول على موقع إنتاج.
إذا لم تتمكن من تحديد تأثير نتيجة ما، فلا تنشرها. اتصل بـ Support أو بمالك الأمان لديك مع نص النتيجة والأدلة المنقحة.
لماذا أتلقى أخطاء 500 أو 502 أو 503 بعد النشر؟
- اختبر عنوان URL الإنتاج الخاص بالمنصة والنطاق المخصص كلًّا على حدة. وقارن أيضًا الصفحة الرئيسية بالصفحة المحددة أو مسار API الذي يفشل.
- سجّل رمز الحالة الدقيق، وعنوان URL الكامل، والوقت والمنطقة الزمنية، وما إذا كان الفشل ثابتًا أم متقطعًا.
- تحقق من أحدث حالة نشر وما إذا كان تغيير حديث في تبعية أو متغير بيئة أو قاعدة بيانات أو خدمة خارجية يتطابق مع بداية الفشل.
- التقط أخطاء Console وNetwork ذات الصلة.
إذا استمر الفشل، فاتصل بـ Support مع خطوات إعادة الإنتاج، والإصدار المتأثر، وبيانات التشخيص المنقحة. قبل إرسال HAR أو مخرجات الأوامر أو لقطة شاشة، أزل ملفات تعريف الارتباط، ورؤوس Authorization، وtokens، ومعلمات الاستعلام السرية، والبيانات الشخصية، ومعلومات الدفع.
انتهت مهلة النشر ويعرض الموقع "app not ready." ماذا أفعل؟
إذا انتهت مهلة النشر أو كان الموقع المباشر غير متاح مؤقتًا:
1. تحقق مما إذا كان كل من النطاق الفرعي Prod الخاص بالمنصة وPreview غير متاحين، أو أحدهما فقط.
2. أبقِ صفحة الخطأ الحالية ظاهرة — لا تنقر فوق Publish بشكل متكرر.
3. تحقق مما إذا كنت قد عدّلت مؤخرًا التبعيات أو نقاط بدء التشغيل أو اتصالات قاعدة البيانات، لأن هذه التغييرات قد تؤثر في النشر.
إذا استمرت المشكلة، فاتصل بـ Support وضمّن:
- رابط المشروع وعنوان URL المباشر
- وقت الفشل ومنطقتك الزمنية
- رقم الإصدار ولقطة شاشة لصفحة الخطأ
- ما إذا كان Preview يعمل بشكل طبيعي
- ما إذا كنت قد عدّلت مؤخرًا التبعيات أو نقطة البدء أو اتصال قاعدة البيانات
لماذا لوحة Publish عالقة على "Building" أو معطلة؟
إذا كانت لوحة Publish تعرض "latest" مع زر معطل، أو كانت عالقة على "Building":
1. لا تنقر فوق Publish بشكل متكرر — فهذا لن يسرّع الأمور وقد ينشئ مهام بناء مكررة.
2. انتظر بضع دقائق ثم حدّث الصفحة.
3. إذا لم تتغير الحالة بعد التحديث، فاتصل بـ Support.
ضمّن ما يلي عند الاتصال بـ Support:
- رابط الدردشة
- لقطة شاشة كاملة للوحة Publish (بما في ذلك عنوان URL للصفحة، ورقم الإصدار، وحالة الزر)
- وقت الحدوث ومنطقتك الزمنية
- رقم الإصدار المعروض حاليًا
- في أي خطوة بدأ يعرض "Building" أو أصبح الزر معطلاً
لماذا الصور مفقودة أو لا يتم تحميلها في عارض التطبيقات أو على الموقع المنشور؟
- تحقق مما إذا كانت الصورة مفقودة في عارض التطبيقات أو على الموقع المنشور أو في كلا المكانين.
- حدد Reload App Viewer مرة واحدة. إذا كانت المشكلة على الموقع المباشر فقط، فتأكد من نشر أحدث إصدار أو تحديثه.
- أخبر Agent بالصفحة والصورة التي يجب أن تظهر ومن أين جاءت الصورة أصلًا. واطلب منه التحقق من أن المشروع الحالي لا يزال يستخدم اسم الصورة الصحيح وموقعها الصحيح.
- إذا تمت إزالة الصورة الأصلية أو إعادة تسميتها، فقم بتحميل الصورة المقصودة أو تحديدها مرة أخرى، ثم أعد اختبار الصفحة.
- إذا كانت الصورة تستخدم تخزين التطبيق أو خدمة متصلة أخرى، فتأكد من أن الخدمة المقصودة متصلة وأن الملف لا يزال موجودًا هناك.
إذا كانت الصورة لا تزال لا تُحمّل، فاتصل بـ Atoms Support مع Chat Link وعنوان URL للصفحة المتأثرة واسم الصورة أو مصدرها ولقطة شاشة. لا تضمّن روابط وصول خاصة أو كلمات مرور أو مفاتيح أو tokens.
حزمة التصدير للاستضافة الذاتية لا تعمل. ما الذي يجب أن أتحقق منه؟
إذا تم تنزيل حزمة الاستضافة الذاتية المصدّرة بنجاح لكنها فشلت في التشغيل:
1. تحقق من README المضمّن في حزمة التصدير لمعرفة متطلبات البيئة وخطوات الإعداد.
2. تحقق من أن بيئة التشغيل لديك تطابق المتطلبات (إصدار نظام التشغيل، وإصدار Docker، وإصدار Node.js).
3. شغّل أمر بدء التشغيل وراجع المخرجات الكاملة بحثًا عن رسائل الخطأ.
إذا استمرت المشكلة، فاتصل بـ Support وضمّن:
- إصدار التصدير ووقت التنزيل
- نظام التشغيل المستخدم وإصدار Docker
- الأمر الكامل الذي تم تنفيذه والمخرجات الكاملة
- السكربت أو مسار API الذي فشل
- طريقة النشر المتوقعة
مهم: أرفق مثال إعدادات منقحًا، لكن لا تضمّن كلمات مرور أو أسرارًا أو tokens.
لماذا تبدو تغييراتي صحيحة في عارض التطبيقات ولكن ليس على الموقع المنشور؟
يعرض عارض التطبيقات والموقع المنشور مرحلتين مختلفتين من مشروعك. حفظ تغيير مرئي لا يحدّث الموقع المباشر تلقائيًا.
- في Design، حدد Save وانتظر حتى تنتهي مهمة Agent الحالية أو عملية البناء.
- افتح Publish. يستخدم النشر أحدث إصدار من المشروع؛ ولا يوجد محدد إصدار في لوحة Publish.
- حدد Publish للإصدار الأول أو Update لإصدار لاحق. انتظر حتى تعرض اللوحة Up to date.
- افتح الموقع المباشر في علامة تبويب جديدة وأعد تحميله مرة واحدة.
- إذا كان عنوان Atoms الافتراضي يعرض التغيير لكن النطاق المخصص لا يعرضه، فتحقق من اتصال النطاق بدلًا من نشر الإصدار نفسه بشكل متكرر.
إذا كان الموقع المباشر لا يزال يعرض الإصدار الخاطئ، فاتصل بـ Atoms Support مع Chat Link وعنوان URL المباشر والإصدار الذي كنت تنوي نشره والوقت والمنطقة الزمنية ولقطات شاشة من عارض التطبيقات والموقع المباشر.
نشرت إلى الإنتاج عن طريق الخطأ. كيف أتراجع عن ذلك؟
- احتوِ المخاطر الفورية. إذا كان الإصدار يكشف بيانات حساسة أو ينشئ سلوكًا غير آمن، فافتح App Status واستخدم Pause لتطبيق مؤهل من سحابة Atoms أو Unpublish لإزالة الوصول العام. إذا لم تكن هناك مخاطر نشطة، فتجنب التسبب في انقطاع غير ضروري.
- سجّل النطاق المتأثر ووقت النشر والإصدار الحالي والإصدار المقصود والأثر التجاري.
- بعد توقف مهمة الوكيل الحالية، افتح Versions، واختر آخر إصدار معروف بأنه جيد، وحدد Restore this version.
- تحقق من الإصدار المستعاد في Preview، بما في ذلك تدفقات تسجيل الدخول والدفع والبيانات الحرجة، ثم قم بـ Publish أو Update له.
قد لا يؤدي استعادة إصدار مشروع إلى عكس تغييرات قاعدة بيانات الإنتاج أو الإجراءات الخارجية. لا تستبدل بيانات الإنتاج أو تحذفها لمحاكاة التراجع. اتصل بـ Support فورًا عندما تكون البيانات أو بيانات الاعتماد أو المدفوعات أو التغييرات المدمرة متضمنة.
كيف أعود إلى إصدار سابق؟
- أوقف مهمة الوكيل الحالية أو انتظرها؛ لا يمكن استعادة إصدار أثناء وجود عمل متعارض نشط.
- افتح Versions، وحدد آخر إصدار معروف بأنه جيد، ثم حدد Restore this version.
- راجع المشروع المستعاد في Preview واختبر التدفقات الحرجة التي تغيّرت.
- قم بـ Publish أو Update فقط بعد أن تكون نتيجة Preview صحيحة.
لا تؤدي استعادة إصدار المشروع بالضرورة إلى التراجع عن سجلات قاعدة بيانات الإنتاج أو تغييرات المخطط أو متغيرات البيئة أو المدفوعات أو رسائل البريد الإلكتروني أو الإجراءات الخارجية الأخرى. إذا كان الإصدار قد غيّر بيانات الإنتاج أو كان الإصدار المستهدف غير متاح، فتوقف واتصل بـ Support مع رقمي الإصدارين والنطاق المتأثر ونتيجة حفظ البيانات المطلوبة.
ما الفرق بين الإيقاف المؤقت وإلغاء النشر؟
Pause وUnpublish إجراءان مختلفان:
Pause (لمشاريع سحابة Atoms فقط):
- يصبح التطبيق غير متاح للزوار.
- تبقى موارد الخادم مخصصة وتستمر الفوترة.
- يمكنك استئناف التطبيق في أي وقت من App Status.
Unpublish (جميع المشاريع):
- يتوقف الموقع الإلكتروني بالكامل عن العمل. يفقد أي شخص يستخدم عنوان URL المنشور إمكانية الوصول.
- بالنسبة إلى مشاريع سحابة Atoms، يتم تحرير موارد الخادم.
- يمكنك نشر المشروع مرة أخرى لاحقًا، لكن لا يمكن للزوار الوصول إليه حتى تفعل ذلك.
استخدم Pause للإزالة المؤقتة مع إعادة تشغيل سريعة. واستخدم Unpublish لإزالة الموقع بالكامل.
موقعي المنشور عالق في حلقة إعادة توجيه. كيف أصلح ذلك؟
إذا كان المتصفح يعرض "too many redirects" أو كانت الصفحة تستمر في إعادة التحميل دون عرض المحتوى:
- جرّب النطاق الفرعي Prod الافتراضي للمنصة (وليس نطاقك المخصص) لتحديد ما إذا كانت حلقة إعادة التوجيه ناتجة عن إعداد النطاق أو عن التطبيق نفسه.
- إذا كان النطاق الفرعي Prod الافتراضي يعمل، فتحقق من إعدادات DNS لنطاقك المخصص ومن مسجل النطاق لديك بحثًا عن قواعد إعادة توجيه قد تتعارض مع المنصة.
- امسح ذاكرة التخزين المؤقت للمتصفح أو اختبر في نافذة التصفح الخفي لاستبعاد عمليات إعادة التوجيه المخزنة مؤقتًا.
إذا استمرت المشكلة، فاتصل بـ Support وضمّن:
- عنوان URL الكامل الذي يعرض حلقة إعادة التوجيه
- ما إذا كان النطاق الفرعي Prod الافتراضي يمكن الوصول إليه
- اسم النطاق وموفر DNS
- لقطة شاشة كاملة للخطأ
تعمل متغيرات البيئة لدي في التطوير ولكن ليس بعد النشر. لماذا؟
إذا كان تطبيقك يعمل في Preview لكنه يفشل في الإنتاج بسبب متغيرات بيئة مفقودة أو فارغة:
- تحقق مما إذا كان متغير البيئة قد تم حفظه قبل آخر عملية نشر أو بعدها. إذا تم حفظه بعدها، فستحتاج إلى النشر مرة أخرى حتى يسري التغيير.
- تحقق من أن المتغير مضبوط للبيئة الصحيحة (Development مقابل Production).
- تحقق مما إذا كانت رسالة الخطأ من الخدمة التابعة تعطي دلالة — على سبيل المثال، غالبًا ما تعني "unauthorized" أن مفتاح API فارغ أو غير صحيح في تلك البيئة.
إذا استمرت المشكلة، فاتصل بـ Support وضمّن:
- رابط المشروع أو عنوان URL المباشر
- اسم المفتاح المتأثر وأي بيئة بها المشكلة
- الخطأ الكامل من الخدمة التابعة
- لقطة شاشة منقحة لصفحة الإعدادات
- ما إذا كان الإعداد قد تم حفظه قبل النشر أو بعده
مهم: قدّم أسماء المفاتيح فقط. لا ترسل القيم السرية أو كلمات المرور أو tokens.
لماذا يعرض فحص الأمان نتائج متشابهة أكثر من مرة؟
قد تستخدم النتائج صياغة متشابهة مع الإشارة إلى مواقع مختلفة. ولا تعني الصياغة المتشابهة بالضرورة أن النتائج مكررة.
- قارن اسم النتيجة والموقع المعروض لكل نتيجة.
- راجع كل موقع فريد بدلًا من تجاهل الصياغة المتكررة.
- إذا كانت عدة نتائج لها السبب الجذري نفسه، فأصلح ذلك السبب ثم تحقق من كل موقع مرة أخرى.
- شغّل فحص الأمان مرة أخرى على الإصدار المحدّث.
إذا كانت النتيجة نفسها والموقع نفسه لا يزالان يظهران أكثر من مرة، فاتصل بـ Atoms Support مع Chat Link ووقت الفحص والمنطقة الزمنية وعدد النتائج ولقطة شاشة منقحة. أزل أي كلمات مرور أو مفاتيح أو tokens أو أي معلومات حساسة أخرى قد تظهر في نتيجة ما.
لماذا ظهرت مشكلة أمنية بعد أن لم يجد الفحص أي مشكلات؟
يُعد الفحص المكتمل دون نتائج مُبلغ عنها تحققًا مفيدًا، لكنه لا يمكن أن يضمن العثور على كل مشكلة أمنية أو مشكلة وقت تشغيل. يفحص الفحص إصدار المشروع المحدد؛ ولا يزال تطبيقك بحاجة إلى الاختبار بالطريقة التي سيستخدمه بها المستخدمون الحقيقيون.
قبل النشر، اختبر الرحلات المهمة في تطبيقك، بما في ذلك تسجيل الدخول وأدوار المستخدمين والوصول إلى البيانات الخاصة والمدفوعات والخدمات المتصلة. استخدم حسابات اختبار منفصلة للأدوار المختلفة وتأكد من أن كل حساب يمكنه الوصول فقط إلى المعلومات والإجراءات المقصودة له.
إذا اكتشفت مشكلة في الإنتاج قد تكشف الحسابات أو البيانات الخاصة أو المدفوعات أو بيانات الاعتماد، فأوقف استخدام الميزة المتأثرة أو قيّد الوصول إليها أولًا. قم بتدوير أي بيانات اعتماد قد تكون انكشفت، ثم اتصل بـ Atoms Support مع Chat Link والإصدار المتأثر وخطوات إعادة إنتاج المشكلة والوقت والمنطقة الزمنية ولقطة شاشة منقحة. لا تشارك بيانات الاعتماد المكشوفة نفسها.
لماذا وضع فحص الأمان علامة على إجراء مخصص للمشرف فقط على أنه غير محمي؟
إذا أبلغ الفحص أن إجراءً مخصصًا للمشرف فقط قد يكون غير محمي، فتعامل مع النتيجة على أنها غير محلولة حتى تؤكد أن المستخدمين غير المصرح لهم لا يمكنهم استخدامه. إخفاء زر المشرف لا يكفي إذا كان لا يزال من الممكن طلب الإجراء بطريقة أخرى.
- افتح النتيجة وحدد الإجراء أو الموقع الذي تسميه.
- حدد الأدوار المسجلة الدخول التي يجب أن يُسمح لها باستخدام ذلك الإجراء.
- اطلب من Agent التحقق من إذن المستخدم عند طلب الإجراء، وليس فقط عند عرض الزر.
- اختبر الإجراء أثناء تسجيل الخروج، ومع حساب اختبار عادي، ومع حساب اختبار مشرف مصرح له.
- أكد أن المحاولات المرفوضة لا تكشف أي بيانات خاصة ولا تُحدث أي تغييرات، ثم شغّل فحص الأمان مرة أخرى.
لا تنشر الميزة المتأثرة إذا كان لا يزال بإمكان حساب غير مصرح له استخدام الإجراء. اتصل بـ Atoms Support مع Chat Link ونص النتيجة والإصدار المتأثر ولقطة شاشة منقحة إذا لم تتمكن من حلها.
لماذا وضع فحص الأمان علامة على وجود مشكلة HTTPS؟
يحمي HTTPS المعلومات أثناء انتقالها بين المستخدم والخدمة. إذا أبلغ الفحص عن مشكلة HTTPS، فاستخدم النتيجة الدقيقة لتحديد العنوان أو المورد أو رد الاتصال أو إعداد النطاق المتأثر.
- افتح النتيجة ولاحظ الموقع والعنوان الدقيقين اللذين يبلّغ عنهما.
- اطلب من Agent استبدال ذلك الاتصال المحدد بالعنوان الآمن الذي يدعمه مزوّده، أو تصحيح إعداد النطاق ذي الصلة.
- لا تتجاهل تحذيرات الشهادة ولا تغيّر عنوانًا بشكل أعمى إذا كانت الخدمة الخارجية لا توثق بديلاً آمنًا مكافئًا.
- أعد اختبار رحلة المستخدم المتأثرة وتأكد من عدم إرسال أي كلمة مرور أو Token أو تفاصيل دفع أو معلومات خاصة عبر اتصال غير آمن.
- شغّل فحص الأمان مرة أخرى على الإصدار المحدّث.
إذا كانت النتيجة تتعلق بنطاق مخصص أو شهادة لا يمكنك تصحيحها، فاتصل بـ Atoms Support مع Chat Link وعنوان URL المتأثر ونص النتيجة والوقت والمنطقة الزمنية ولقطة شاشة منقحة.
لماذا وضع فحص الأمان علامة على سياسات Row Level Security المفقودة؟
Row Level Security أو RLS هي ميزة في Supabase تتحكم في صفوف قاعدة البيانات التي يمكن لكل مستخدم قراءتها أو تغييرها. تكون هذه النتيجة ذات صلة فقط عندما يستخدم المشروع Supabase ويحدد الفحص جدولًا تحتاج قواعد الوصول الخاصة به إلى مراجعة.
- افتح النتيجة وحدد الجدول الذي تسميه.
- دوّن من يجب أن يكون قادرًا على عرض بيانات ذلك الجدول أو إضافتها أو تعديلها أو حذفها.
- اطلب من Agent إنشاء أقل سياسات Supabase سماحًا التي تدعم رحلات المستخدم تلك.
- اختبر أثناء تسجيل الخروج ومع حساب اختبار منفصل لكل دور. أكد أن كل حساب يمكنه الوصول فقط إلى الصفوف والإجراءات المقصودة.
- شغّل فحص الأمان مرة أخرى بعد تطبيق السياسات.
لا تقم بتعطيل RLS أو السماح لكل مستخدم فقط لإزالة التحذير. قبل إجراء تغيير قد يؤثر في البيانات الحالية، أكد الخطة واحتفظ بنسخة احتياطية آمنة أو تصدير آمن عند الاقتضاء. لا تشارك أبدًا مفاتيح Supabase أو بيانات اعتماد قاعدة البيانات في Chat أو لقطات الشاشة.