پروژه خود را منتشر کنید
پروژه خود را در یک URL عمومی منتشر کنید، سایت زنده را بهروزرسانی کنید، یک دامنه سفارشی متصل کنید، یا آن را آفلاین کنید.
توضیحات
پروژه خود را در یک URL عمومی منتشر کنید، سایت زنده را بهروزرسانی کنید، یک دامنه سفارشی متصل کنید، یا آن را آفلاین کنید.
مقدمه
انتشار، به پروژه شما یک URL عمومی میدهد که توسط Atoms میزبانی میشود. ویرایشهای بعدی تا زمانی که خودتان برای بهروزرسانی سایت زنده اقدام کنید، در ویرایشگر باقی میمانند.
استفاده کنید Share وقتی میخواهید کسی خودِ پروژه Atoms را باز کند. از انتشار استفاده کنید وقتی میخواهید بازدیدکنندگان وبسایت نهایی را باز کنند.
پیش از انتشار
پیش از انتشار، پروژه را در App Viewer باز کنید و آن را همانطور که یک بازدیدکننده انجام میدهد مرور کنید.
پیش از آنلاین شدن، بررسی کنید که:
- جریان اصلی کاربر را از ابتدا تا انتها آزمایش کنید
- بررسی کنید که همه دکمهها، پیوندها، فرمها، ورود به حساب، و سرویسهای متصل بهدرستی کار میکنند
- هم طرحبندی دسکتاپ و هم موبایل را بررسی کنید
- مطمئن شوید که هیچ داده نمونه یا آزمایشی، گذرواژه، کلید API، یا اطلاعات خصوصی دیگری قابل مشاهده نیست
پیش از انتشار، هر چیزی را که ممکن است بازدیدکننده را متوقف یا سردرگم کند برطرف کنید.

پیش از انتشار، پروژه را در App Viewer بررسی کنید.
پروژه خود را برای اولین بار منتشر کنید
1. Publish را باز کنید
وقتی آماده هستید پروژه را آنلاین کنید، انتشار را در گوشه بالا-راست، کنار Shareانتخاب کنید. این کار پنل Publish را باز میکند.

پنل Publish با URL وبسایت، تنظیمات پروژه، مهاجرت داده، و Security scan.
2. نشانی وبسایت خود را تنظیم کنید
URL وبسایت شما یک نشانی پیشنهادی را در قالب [name].pub.atoms.worldنشان میدهد. آن را نگه دارید، یا برای انتخاب نامی دیگر، آیکون مداد را انتخاب کنید.
اگر نشانی را تغییر میدهید، نامی در دسترس انتخاب کنید که:
- بین 6 تا 30 نویسه داشته باشد
- فقط از حروف کوچک، اعداد، یا خط تیره استفاده کند
- با یک نشانی کامل وب مانند
https://
شروع نشود. اگر نام وارد نشده باشد، نامعتبر باشد، یا قبلاً استفاده شده باشد، Atoms خطا نشان میدهد.
دامنه خود را اضافه کنید پس از اولین انتشار در دسترس میشود. برای اتصال دامنهای که مالک آن هستید، به Domains.
3. تنظیمات موجود را بررسی کنید
اگر پنل نشان میدهد Remove Atoms™ Badge, از آن برای کنترل نمایش یا عدم نمایش نشان در سایت زنده استفاده کنید. در دسترس بودن آن به پلن شما بستگی دارد.
اگر پروژه شما از Atoms Cloud استفاده میکند
پروژههای Atoms Cloud شامل تنظیمات داده اضافی در پنل Publish هستند.
روشن کنید Migrate existing data اگر برنامه زنده باید محصولات و محتوای موجود خود را حفظ کند. اگر آن را خاموش بگذارید، ممکن است پس از انتشار لازم باشد آن دادهها را دوباره ایجاد کنید.
انتخاب کنید View database تا پیش از تصمیمگیری، دادههای موجود را بررسی کنید.
اسکن امنیتی را بررسی کنید
بررسی کنید Security scan را در پایین پنل. اگر نوشته باشد Security scan in progress, منتظر بمانید تا اسکن کامل شود. وضعیت به Security checked, تغییر میکند یا پنل مواردی را که نیاز به توجه شما دارند نشان میدهد.
اگر اسکن مشکلی پیدا کرد، Resolve All را انتخاب کنید و بررسی را دوباره اجرا کنید. فقط در صورتی Publish Anyway را انتخاب کنید که ریسک باقیمانده را درک کرده و میپذیرید. اگر پیش از پایان اسکن تلاش کنید منتشر کنید، Cancel را انتخاب کنید تا صبر کنید، یا Publish Anyway را برای ادامه انتخاب کنید.
راهنمای انتشار
وقتی تنظیمات موجود را بررسی کردید، روی دکمه انتشار در پنل کلیک کنید.
4. وبسایت زنده را بررسی کنید
دکمه عبارت Publishing را نشان میدهد، در حالی که Atoms سایت را آماده میکند. وقتی آماده شد، خواهید دید Your app is live!
URL وبسایت را باز کنید و دوباره جریان اصلی کاربر را مرور کنید. این کار تأیید میکند که سایت زنده، نه فقط App Viewer، همانطور که انتظار میرود کار میکند.

تأییدیه Your App is Live با URL منتشرشده و دکمه View app.
یک وبسایت منتشرشده را مدیریت کنید
URL زنده را باز یا کپی کنید
Open انتشار را انتخاب کنید تا URL وبسایت شما. را ببینید. URL را برای باز کردن سایت زنده انتخاب کنید، یا آیکون کپی را برای کپی کردن آن انتخاب کنید.
این URL را با بازدیدکنندگان به اشتراک بگذارید. از Share فقط زمانی استفاده کنید که میخواهید خودِ پروژه Atoms را به اشتراک بگذارید.
یک دامنه سفارشی اضافه یا مدیریت کنید
پس از اینکه پروژه خود را منتشر کردید، گزینه دامنه خود را اضافه کنید در دسترس میشود. برای استفاده از دامنه خودتان، به Domains.
تغییرات بعدی را منتشر کنید
ویرایشهای شما در App Viewer باقی میمانند تا زمانی که سایت زنده را بهروزرسانی کنید. برای انتشار آنها:
- تغییرات را در
App Viewer - آزمایش کنید. روی انتشار در گوشه بالا-راست کلیک کنید
- هر تنظیمی را که میخواهید تغییر دهید بررسی کنید.
- انتخاب کنید Update را انتخاب کنید تا آخرین نسخه پروژه منتشر شود.
- صبر کنید تا زمانی که دکمه عبارت Updating...
- را نشان میدهد. وقتی وضعیت به Up to date, تغییر کرد، URL زنده را باز کنید و جریان بهروزشده را آزمایش کنید.
اگر پنل از قبل میگوید Up to date, آخرین نسخه زنده است.
یک برنامه Atoms Cloud را متوقف یا از سر بگیرید
App Status فقط برای پروژههای منتشرشده Atoms Cloud در دسترس است.
برنامه را متوقف کنید
- آزمایش کنید. روی انتشار, سپس روی App Status
- کلیک کنید. گزینه Paused را انتخاب کنید
- پیام را بررسی کنید و روی Confirm
کلیک کنید. برنامه برای بازدیدکنندگان در دسترس نخواهد بود. در زمان توقف، صورتحساب ادامه دارد.
برنامه را از سر بگیرید
- Open App Status
- کلیک کنید. گزینه Live را انتخاب کنید
- پیام را بررسی کنید و روی Confirm
وقتی وضعیت دوباره به Live.

برگردد، برنامه دوباره در دسترس میشود. گزینههای App Status: Live، Paused، و Unpublished.
انتشار یک پروژه را لغو کنید
لغو انتشار، وبسایت را آفلاین میکند. هر کسی که از URLهای منتشرشده آن استفاده میکند دسترسی را از دست میدهد، اما میتوانید بعداً دوباره پروژه را منتشر کنید.
پروژه استاندارد
- Open انتشار
- انتخاب کنید انتشار پروژه خود را لغو کنید
- پیام را بررسی کنید و روی Confirm
پروژه Atoms Cloud
- Open انتشار
- انتخاب کنید Unpublished را از App Status, یا Unpublish را در Settings
- پیام را بررسی کنید و روی Confirm
انتخاب کنید. برای یک پروژه Atoms Cloud، پیام تأیید همچنین بیان میکند که منابع سرور آزاد خواهند شد. پیش از ادامه آن را با دقت بررسی کنید.

هشدار تأیید لغو انتشار که اعلام میکند برنامه از دسترسی عمومی حذف خواهد شد.
عیبیابی
نشانی وبسایت رد میشود
بررسی کنید که نام بین 6 تا 30 نویسه باشد و فقط شامل حروف کوچک، اعداد، یا خط تیره باشد. اگر قالب معتبر است، ممکن است نام قبلاً استفاده شده باشد—نام دیگری را امتحان کنید.
تغییرات اخیر زنده نیستند
آزمایش کنید. روی انتشار. اگر گزینه Update ظاهر شد، روی آن کلیک کنید و صبر کنید تا عبارت Up to date. را نشان دهد. سپس وبسایت زنده را دوباره باز یا تازهسازی کنید.
Unable to Publish یا Unable to 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 Cloud، بررسی کنید که 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 هزینه خدمات میزبانی و استقرار را تأمین میکند، در حالی که اعتبارهای اشتراک برای گفتگوهای عامل AI استفاده میشوند.
به من گفته شده فضای ذخیرهسازیام پر است و نمیتوانم منتشر کنم. چگونه فضا آزاد کنم؟
- نمای مصرف فضای ذخیرهسازی را بررسی کنید و بزرگترین چتها، پروژهها، و فایلها را شناسایی کنید.
- هر چیزی را که ممکن است بعداً نیاز داشته باشید دانلود یا پشتیبانگیری کنید.
- فقط موارد غیرضروری را حذف کنید. اگر حذف چت گزینه حذف دادههای دیسک مرتبط را ارائه میدهد، فقط پس از اطمینان از اینکه حذف آن دادهها بیخطر است آن گزینه را انتخاب کنید.
- صفحه را تازهسازی کنید و تأیید کنید که فضای ذخیرهسازی در دسترس افزایش یافته است.
- به Publish برگردید و یک بار دیگر تلاش کنید.
حذف ممکن است دائمی باشد و میتواند پروژهای را که به فایل حذفشده ارجاع میدهد از کار بیندازد. اگر میزان مصرف کاهش پیدا نکرد، با پشتیبانی تماس بگیرید و نمای فضای ذخیرهسازی، پلن، پیوند پروژه، و زمان انتشار ناموفق را ارسال کنید.
اسکن امنیتی مشکلاتی پیدا کرده است. آیا هنوز هم میتوانم منتشر کنم؟
منتظر بمانید تا اسکن امنیتی کامل شود، سپس پیش از انتشار هر مورد علامتگذاریشده را بررسی کنید.
- انتخاب کنید Resolve All و رفتار تحت تأثیر را بررسی کنید. مشکلات مربوط به افشای اسرار، احراز هویت، مجوزها، دادههای کاربر، یا دسترسی خارجی ناامن را پیش از استفاده در محیط production برطرف کنید.
- اگر ممکن است یک secret افشا شده باشد، آن را از پروژه حذف کنید و پیش از انتشار، آن را از طریق ارائهدهنده مربوطه تعویض کنید.
- اسکن را دوباره اجرا کنید و جریان تحت تأثیر را تأیید کنید.
- استفاده کنید Publish Anyway فقط زمانی از آن استفاده کنید که یک بازبین مسئول، ریسک باقیمانده و غیرحیاتی را درک کرده و بپذیرد. دلیل آن را ثبت کنید و از دور زدن یک ریسک حلنشده در سایت production خودداری کنید.
اگر نمیتوانید تأثیر یک یافته را تعیین کنید، آن را منتشر نکنید. با پشتیبانی یا مسئول امنیت خود تماس بگیرید و متن یافته و شواهد پاکسازیشده را ارائه دهید.
چرا بعد از انتشار خطاهای 500، 502، یا 503 دریافت میکنم؟
- URL محیط production پلتفرم و دامنه سفارشی را جداگانه آزمایش کنید. همچنین صفحه ریشه را با صفحه مشخص یا مسیر API که دچار خطا میشود مقایسه کنید.
- کد وضعیت دقیق، URL کامل، زمان و منطقه زمانی، و اینکه خطا دائمی است یا متناوب را ثبت کنید.
- آخرین وضعیت استقرار را بررسی کنید و ببینید آیا یک تغییر اخیر در dependency، environment variable، پایگاه داده، یا سرویس خارجی با شروع خطا همزمان بوده است یا نه.
- خطاهای مرتبط Console و Network را ثبت کنید.
اگر خطا ادامه داشت، با پشتیبانی تماس بگیرید و مراحل بازتولید، نسخه تحت تأثیر، و اطلاعات عیبیابی پاکسازیشده را ارسال کنید. پیش از ارسال HAR، خروجی فرمان، یا اسکرینشات، کوکیها، هدرهای Authorization، توکنها، پارامترهای query محرمانه، دادههای شخصی، و اطلاعات پرداخت را حذف کنید.
استقرار من timeout شد و سایت "app not ready" را نشان میدهد. چه کار باید بکنم؟
اگر استقرار شما timeout میشود یا سایت زنده موقتاً در دسترس نیست:
1. بررسی کنید که آیا هم زیردامنه Prod پلتفرم و هم Preview در دسترس نیستند، یا فقط یکی از آنها.
2. صفحه خطای فعلی را باز نگه دارید — مکرراً روی Publish کلیک نکنید.
3. بررسی کنید که آیا اخیراً dependencyها، نقاط ورود راهاندازی، یا اتصالهای پایگاه داده را تغییر دادهاید، چون این تغییرات میتوانند بر استقرار اثر بگذارند.
اگر مشکل ادامه داشت، با پشتیبانی تماس بگیرید و این موارد را اضافه کنید:
- پیوند پروژه و URL زنده
- زمان خطا و منطقه زمانی شما
- شماره نسخه و اسکرینشات صفحه خطا
- اینکه آیا Preview بهطور عادی کار میکند
- اینکه آیا اخیراً dependencyها، ورودی راهاندازی، یا اتصال پایگاه داده را تغییر دادهاید
چرا پنل Publish روی "Building" گیر کرده یا غیرفعال شده است؟
اگر پنل Publish عبارت "latest" را با دکمه غیرفعال نشان میدهد، یا روی "Building" گیر کرده است:
1. مکرراً روی Publish کلیک نکنید — این کار سرعت را بیشتر نمیکند و ممکن است وظایف build تکراری ایجاد کند.
2. چند دقیقه صبر کنید و صفحه را تازهسازی کنید.
3. اگر پس از تازهسازی وضعیت تغییر نکرد، با پشتیبانی تماس بگیرید.
هنگام تماس با پشتیبانی، موارد زیر را اضافه کنید:
- پیوند چت
- اسکرینشات کامل از پنل Publish (شامل URL صفحه، شماره نسخه، و وضعیت دکمه)
- زمان وقوع و منطقه زمانی شما
- شماره نسخهای که اکنون نمایش داده میشود
- اینکه در کدام مرحله عبارت "Building" شروع به نمایش کرد یا دکمه غیرفعال شد
چرا تصاویر در App Viewer یا در سایت منتشرشده وجود ندارند یا بارگذاری نمیشوند؟
- بررسی کنید که آیا تصویر در App Viewer، در سایت منتشرشده، یا در هر دو جا وجود ندارد.
- انتخاب کنید App Viewer را یک بار دوباره بارگذاری کنید. اگر مشکل فقط در سایت زنده است، تأیید کنید که آخرین نسخه منتشر یا بهروزرسانی شده است.
- به Agent بگویید کدام صفحه، کدام تصویر باید نمایش داده شود، و تصویر در اصل از کجا آمده است. از آن بخواهید بررسی کند که پروژه فعلی هنوز از نام و محل درست تصویر استفاده میکند.
- اگر تصویر اصلی حذف یا تغییر نام داده شده است، تصویر موردنظر را دوباره بارگذاری یا انتخاب کنید، سپس صفحه را دوباره آزمایش کنید.
- اگر تصویر از App Storage یا سرویس متصل دیگری استفاده میکند، تأیید کنید که سرویس موردنظر متصل است و فایل هنوز در آنجا وجود دارد.
اگر تصویر هنوز بارگذاری نمیشود، با Atoms Support تماس بگیرید و Chat Link, ، URL صفحه تحت تأثیر، نام یا منبع تصویر، و یک اسکرینشات را ارسال کنید. پیوندهای دسترسی خصوصی، گذرواژهها، کلیدها، یا توکنها را ارسال نکنید.
بسته export خودمیزبان من کار نمیکند. چه چیزهایی را باید بررسی کنم؟
اگر بسته self-host صادرشده با موفقیت دانلود میشود اما اجرا نمیشود:
1. README موجود در بسته export را برای نیازمندیهای محیط و مراحل راهاندازی بررسی کنید.
2. تأیید کنید که محیط runtime شما با نیازمندیها مطابقت دارد (نسخه OS، نسخه Docker، نسخه Node.js).
3. فرمان راهاندازی را اجرا کنید و خروجی کامل را برای پیامهای خطا بررسی کنید.
اگر مشکل ادامه داشت، با پشتیبانی تماس بگیرید و این موارد را اضافه کنید:
- نسخه export و زمان دانلود
- نسخه OS و Docker در حال اجرا
- فرمان کامل اجراشده و خروجی کامل
- اسکریپت یا مسیر API ناموفق
- روش استقرار مورد انتظار
مهم: یک نمونه پیکربندی پاکسازیشده پیوست کنید، اما گذرواژهها، secretها، یا توکنها را وارد نکنید.
چرا تغییرات من در App Viewer درست به نظر میرسند اما در سایت منتشرشده نه؟
App Viewer و سایت منتشرشده مراحل متفاوتی از پروژه شما را نشان میدهند. ذخیره یک تغییر ظاهری، بهتنهایی سایت زنده را بهروزرسانی نمیکند.
- در Design, ، Save را انتخاب کنید و منتظر بمانید تا وظیفه فعلی Agent یا build تمام شود.
- Open انتشار. انتشار از آخرین نسخه پروژه استفاده میکند؛ در پنل Publish انتخابگر نسخه وجود ندارد.
- انتخاب کنید انتشار برای اولین انتشار یا Update برای انتشار بعدی. صبر کنید تا پنل عبارت Up to date.
- را نشان دهد. سایت زنده را در یک زبانه جدید باز کنید و یک بار آن را دوباره بارگذاری کنید.
- اگر نشانی پیشفرض Atoms تغییر را نشان میدهد اما دامنه سفارشی نه، بهجای انتشار مکرر همان نسخه، اتصال دامنه را بررسی کنید.
اگر سایت زنده هنوز نسخه اشتباه را نشان میدهد، با Atoms Support تماس بگیرید و Chat Link, تماس بگیرید و URL زنده، نسخهای که قصد انتشار آن را داشتید، زمان و منطقه زمانی، و اسکرینشاتهای App Viewer و سایت زنده را ارسال کنید.
من بهاشتباه در production منتشر کردم. چگونه آن را برگردانم؟
- ریسک فوری را مهار کنید. اگر انتشار باعث افشای داده حساس یا رفتار ناامن شده است، App Status را باز کنید و از Pause برای یک برنامه واجد شرایط Atoms Cloud یا از Unpublish برای حذف دسترسی عمومی استفاده کنید. اگر ریسک فعالی وجود ندارد، از ایجاد قطعی غیرضروری خودداری کنید.
- دامنه تحت تأثیر، زمان انتشار، نسخه فعلی، نسخه موردنظر، و اثر تجاری را ثبت کنید.
- پس از توقف وظیفه فعلی agent، Versions را باز کنید، آخرین نسخه سالم شناختهشده را انتخاب کنید، و Restore this version.
- را انتخاب کنید. نسخه بازیابیشده را در Preview بررسی کنید، از جمله جریانهای حیاتی ورود، پرداخت، و داده، سپس آن را Publish یا Update کنید.
بازیابی یک نسخه پروژه ممکن است تغییرات پایگاه داده production یا اقدامات خارجی را معکوس نکند. برای شبیهسازی rollback، دادههای production را بازنویسی یا حذف نکنید. اگر دادهها، اعتبارنامهها، پرداختها، یا تغییرات مخرب درگیر هستند، فوراً با پشتیبانی تماس بگیرید.
چگونه به نسخه قبلی بازگردم؟
- وظیفه فعلی agent را متوقف کنید یا منتظر بمانید؛ تا زمانی که کار متعارض فعال است، نمیتوان یک نسخه را بازیابی کرد.
- Versions را باز کنید، آخرین نسخه سالم شناختهشده را پیدا کنید، و Restore this version.
- را انتخاب کنید. پروژه بازیابیشده را در Preview بررسی کنید و جریانهای حیاتیای را که تغییر کردهاند آزمایش کنید.
- فقط پس از درست بودن نتیجه Preview، آن را Publish یا Update کنید.
بازیابی نسخه پروژه لزوماً رکوردهای پایگاه داده production، تغییرات schema، environment variableها، پرداختها، ایمیلها، یا سایر اقدامات خارجی را به عقب برنمیگرداند. اگر انتشار دادههای production را تغییر داده یا نسخه هدف در دسترس نیست، متوقف شوید و با پشتیبانی تماس بگیرید و هر دو شماره نسخه، دامنه تحت تأثیر، و نتیجه موردنیاز برای حفظ داده را ارائه دهید.
تفاوت بین pause و unpublish چیست؟
Pause و Unpublish دو اقدام متفاوت هستند:
Pause (فقط پروژههای Atoms Cloud):
- برنامه برای بازدیدکنندگان در دسترس نخواهد بود.
- منابع سرور همچنان تخصیصیافته باقی میمانند و صورتحساب ادامه دارد.
- میتوانید هر زمان از App Status برنامه را از سر بگیرید.
Unpublish (همه پروژهها):
- وبسایت کاملاً آفلاین میشود. هر کسی که از URL منتشرشده استفاده میکند دسترسی را از دست میدهد.
- برای پروژههای Atoms Cloud، منابع سرور آزاد میشوند.
- میتوانید بعداً دوباره پروژه را منتشر کنید، اما تا آن زمان بازدیدکنندگان به آن دسترسی نخواهند داشت.
برای حذف موقت با راهاندازی سریع از Pause استفاده کنید. برای حذف کامل سایت از Unpublish استفاده کنید.
سایت منتشرشده من در یک حلقه redirect گیر کرده است. چگونه آن را برطرف کنم؟
اگر مرورگر شما "too many redirects" را نشان میدهد یا صفحه بدون نمایش محتوا مدام دوباره بارگذاری میشود:
- زیردامنه پیشفرض Prod پلتفرم را امتحان کنید (نه دامنه سفارشی خودتان) تا مشخص شود آیا حلقه redirect ناشی از پیکربندی دامنه است یا خود برنامه.
- اگر زیردامنه پیشفرض Prod کار میکند، تنظیمات DNS دامنه سفارشی و ثبتکننده دامنه خود را برای قوانین redirect که ممکن است با پلتفرم تداخل داشته باشند بررسی کنید.
- کش مرورگر خود را پاک کنید یا در یک پنجره Incognito آزمایش کنید تا redirectهای کششده را رد کنید.
اگر مشکل ادامه داشت، با پشتیبانی تماس بگیرید و این موارد را اضافه کنید:
- URL کامل که حلقه redirect را نشان میدهد
- اینکه آیا زیردامنه پیشفرض Prod قابل دسترسی است
- نام دامنه و ارائهدهنده DNS
- اسکرینشات کامل خطا
چرا environment variableهای من در development کار میکنند اما بعد از انتشار نه؟
اگر برنامه شما در Preview کار میکند اما در production به دلیل environment variableهای خالی یا مفقودشده از کار میافتد:
- بررسی کنید که environment variable پیش از آخرین انتشار ذخیره شده یا بعد از آن. اگر بعد از آن ذخیره شده، باید دوباره منتشر کنید تا تغییر اعمال شود.
- تأیید کنید که متغیر برای محیط درست تنظیم شده است (Development در برابر Production).
- بررسی کنید که آیا پیام خطای سرویس پاییندستی سرنخی میدهد — برای مثال، "unauthorized" اغلب یعنی یک کلید API در آن محیط خالی یا نادرست است.
اگر مشکل ادامه داشت، با پشتیبانی تماس بگیرید و این موارد را اضافه کنید:
- پیوند پروژه یا URL زنده
- نام کلید تحت تأثیر و اینکه مشکل در کدام محیط است
- خطای کامل از سرویس پاییندستی
- یک اسکرینشات پاکسازیشده از صفحه پیکربندی
- اینکه پیکربندی پیش از انتشار ذخیره شده یا بعد از آن
مهم: فقط نام کلیدها را ارائه دهید. مقادیر محرمانه، گذرواژهها، یا توکنها را ارسال نکنید.
چرا اسکن امنیتی بیش از یک بار یافتههای مشابه را نشان میدهد؟
یافتهها ممکن است از عبارتهای مشابه استفاده کنند در حالی که به مکانهای متفاوتی اشاره دارند. عبارت مشابه لزوماً به معنی تکراری بودن نتایج نیست.
- نام یافته و مکانی را که برای هر نتیجه نشان داده شده مقایسه کنید.
- بهجای نادیده گرفتن عبارت تکراری، هر مکان منحصربهفرد را بررسی کنید.
- اگر چند یافته یک علت ریشهای مشترک دارند، آن علت را برطرف کنید و سپس هر مکان را دوباره بررسی کنید.
- اسکن امنیتی را دوباره روی نسخه بهروزشده اجرا کنید.
اگر همان یافته و همان مکان هنوز بیش از یک بار ظاهر میشود، با Atoms Support تماس بگیرید و Chat Link, تماس بگیرید و زمان اسکن و منطقه زمانی، تعداد یافتهها، و یک اسکرینشات ویرایششده را ارسال کنید. هر گذرواژه، کلید، توکن، یا اطلاعات حساس دیگری را که ممکن است در یک یافته ظاهر شود حذف کنید.
چرا بعد از اینکه اسکن هیچ مشکلی پیدا نکرد، یک مشکل امنیتی ظاهر شد؟
یک اسکن کاملشده بدون یافته گزارششده، بررسی مفیدی است، اما نمیتواند تضمین کند که هر مشکل امنیتی یا runtime پیدا شده است. اسکن نسخه انتخابشده پروژه را بررسی میکند؛ برنامه شما همچنان باید به همان روشی که کاربران واقعی از آن استفاده میکنند آزمایش شود.
پیش از انتشار، مسیرهای مهم در برنامه خود را آزمایش کنید، از جمله ورود، نقشهای کاربری، دسترسی به دادههای خصوصی، پرداختها، و سرویسهای متصل. برای نقشهای مختلف از حسابهای آزمایشی جداگانه استفاده کنید و تأیید کنید که هر حساب فقط به اطلاعات و اقداماتی که برای آن در نظر گرفته شده دسترسی دارد.
اگر یک مشکل production پیدا کردید که میتواند حسابها، دادههای خصوصی، پرداختها، یا اعتبارنامهها را افشا کند، ابتدا استفاده از قابلیت تحت تأثیر را متوقف کنید یا دسترسی به آن را محدود کنید. هر اعتبارنامهای را که ممکن است افشا شده باشد تعویض کنید، سپس با Atoms Support تماس بگیرید و Chat Link, تماس بگیرید و نسخه تحت تأثیر، مراحل بازتولید مشکل، زمان و منطقه زمانی، و یک اسکرینشات ویرایششده را ارسال کنید. خودِ اعتبارنامه افشاشده را به اشتراک نگذارید.
چرا اسکن امنیتی یک اقدام فقط-مدیر را بدون محافظت علامتگذاری کرده است؟
اگر اسکن گزارش میدهد که یک اقدام فقط-مدیر ممکن است بدون محافظت باشد، تا زمانی که تأیید نکردهاید کاربران غیرمجاز نمیتوانند از آن استفاده کنند، یافته را حلنشده در نظر بگیرید. پنهان کردن یک دکمه مدیر کافی نیست اگر هنوز بتوان آن اقدام را از راه دیگری درخواست کرد.
- یافته را باز کنید و اقدام یا مکانی را که نام میبرد شناسایی کنید.
- تصمیم بگیرید کدام نقشهای واردشده باید مجاز به استفاده از آن اقدام باشند.
- از Agent بخواهید هنگام درخواست اقدام، مجوز کاربر را بررسی کند، نه فقط هنگام نمایش دکمه.
- اقدام را در حالت خروج از حساب، با یک حساب آزمایشی عادی، و با یک حساب آزمایشی مدیر مجاز آزمایش کنید.
- تأیید کنید که تلاشهای ردشده هیچ داده خصوصیای را آشکار نمیکنند و هیچ تغییری ایجاد نمیکنند، سپس اسکن امنیتی را دوباره اجرا کنید.
اگر یک حساب غیرمجاز هنوز میتواند از آن اقدام استفاده کند، قابلیت تحت تأثیر را منتشر نکنید. با Atoms Support تماس بگیرید و Chat Link, تماس بگیرید و متن یافته، نسخه تحت تأثیر، و در صورت ناتوانی در رفع آن، یک اسکرینشات ویرایششده را ارسال کنید.
چرا اسکن امنیتی یک مشکل HTTPS را علامتگذاری کرده است؟
HTTPS از اطلاعات هنگام انتقال بین کاربر و سرویس محافظت میکند. اگر اسکن یک مشکل HTTPS گزارش میدهد، از متن دقیق یافته برای شناسایی نشانی، منبع، callback، یا پیکربندی دامنه تحت تأثیر استفاده کنید.
- یافته را باز کنید و مکان و نشانی دقیقی را که گزارش میکند یادداشت کنید.
- از Agent بخواهید آن اتصال مشخص را با نشانی امنی که ارائهدهنده آن پشتیبانی میکند جایگزین کند، یا پیکربندی دامنه مرتبط را اصلاح کند.
- اگر سرویس خارجی معادل امنی را مستند نکرده است، هشدارهای گواهی را نادیده نگیرید و نشانی را کورکورانه تغییر ندهید.
- مسیر کاربری تحت تأثیر را دوباره آزمایش کنید و تأیید کنید که هیچ گذرواژه، توکن، جزئیات پرداخت، یا اطلاعات خصوصی از طریق اتصال ناامن ارسال نمیشود.
- اسکن امنیتی را دوباره روی نسخه بهروزشده اجرا کنید.
اگر یافته مربوط به یک دامنه سفارشی یا گواهیای است که نمیتوانید آن را اصلاح کنید، با Atoms Support تماس بگیرید و Chat Link, تماس بگیرید و URL تحت تأثیر، متن یافته، زمان و منطقه زمانی، و یک اسکرینشات ویرایششده را ارسال کنید.
چرا اسکن امنیتی نبودِ سیاستهای Row Level Security را علامتگذاری کرده است؟
Row Level Security, یا RLS, یک قابلیت Supabase است که کنترل میکند هر کاربر کدام ردیفهای پایگاه داده را میتواند بخواند یا تغییر دهد. این یافته فقط زمانی مرتبط است که پروژه از Supabase استفاده کند و اسکن جدولی را شناسایی کند که قوانین دسترسی آن نیاز به بازبینی دارد.
- یافته را باز کنید و جدولی را که نام میبرد شناسایی کنید.
- یادداشت کنید چه کسانی باید بتوانند دادههای آن جدول را مشاهده، اضافه، ویرایش، یا حذف کنند.
- از Agent بخواهید کممجوزترین سیاستهای Supabase را که از آن مسیرهای کاربری پشتیبانی میکنند ایجاد کند.
- در حالت خروج از حساب و با یک حساب آزمایشی جداگانه برای هر نقش آزمایش کنید. تأیید کنید که هر حساب فقط به ردیفها و اقداماتی که برای آن در نظر گرفته شده دسترسی دارد.
- پس از اعمال سیاستها، اسکن امنیتی را دوباره اجرا کنید.
برای رفع هشدار، RLS را غیرفعال نکنید و به همه کاربران دسترسی ندهید. پیش از ایجاد تغییری که ممکن است بر دادههای موجود اثر بگذارد، طرح را تأیید کنید و در صورت لزوم یک نسخه پشتیبان یا export امن نگه دارید. هرگز کلیدهای Supabase یا اعتبارنامههای پایگاه داده را در Chat یا اسکرینشاتها به اشتراک نگذارید.