رفتن به محتوا

بررسی امنیتی

از AI بخواهید وضعیت امنیتی اپ شما را بررسی کند، بهترین شیوه‌های زیر را دنبال کنید، و اسرار را در صفحه Settings نگه دارید.

امنیت در Proyecta از ترکیبی از پیش‌فرض‌های پلتفرم، بررسی‌های مبتنی بر AI، و چند عادتی که باید در خود ایجاد کنید، تأمین می‌شود. در اینجا نحوه تفکر درباره آن آمده است.

Command Palette را باز کنید (Cmd+K / Ctrl+K) و گزینه Run Security Audit را انتخاب کنید. این کار یک پرامپت جامع امنیتی را برای AI ارسال می‌کند که کل codebase شما را می‌خواند و آسیب‌پذیری‌ها را با یافته‌های اولویت‌بندی‌شده و راه‌حل‌های مشخص نمایش می‌دهد.

بررسی موارد زیر را بررسی می‌کند:

  • کلیدهای API، توکن‌ها یا رمزهای عبور hardcoded در فایل‌های سورس
  • متغیرهای محیطی با پیشوند VITE_ که اسرار را به client درز می‌دهند
  • فقدان اعتبارسنجی ورودی سمت سرور در API endpointها
  • صفحات یا API endpointهای فاقد احراز هویت
  • محتوای کاربر escape‌نشده (خطرات XSS)
  • آسیب‌پذیری‌های وابستگی‌ها
  • محتوای ترکیبی یا URLهای http:// hardcoded
  • فقدان اعتبارسنجی آپلود فایل

همچنین می‌توانید یک بررسی امنیتی را به‌صورت دستی از چت اجرا کنید، یا آن را به یک حوزه خاص محدود کنید:

  • "Review my checkout flow for security issues"
  • "Check the admin pages — who can access what?"
  • "Look at every endpoint that writes to the database and tell me if any of them are missing authorization"

بهترین شیوه‌های امنیتی

Section titled “بهترین شیوه‌های امنیتی”

اسرار را ایمن نگه دارید

  • هر کلید API، credential پایگاه داده، و توکن سرویس‌های third-party را در بخش متغیرهای محیطی صفحه Settings ذخیره کنید
  • هرگز اسرار را در پیام‌های چت پیست نکنید یا آن‌ها را به کد commit نکنید
  • اگر یک secret افشا شد، فوراً آن را نزد ارائه‌دهنده third-party لغو کنید و یک مورد جدید بسازید

دسترسی را محدود کنید

  • مجوزهای مبتنی بر نقش را در اپ خود پیاده‌سازی کنید ("Add admin and member roles. Only admins can access /admin pages.")
  • صفحات و endpointهای حساس را به کاربران احراز هویت‌شده محدود کنید
  • همیشه ورودی کاربر را در سمت سرور اعتبارسنجی کنید، نه فقط در client

از HTTPS در همه جا استفاده کنید

  • تمام اپ‌های منتشرشده Proyecta به‌صورت خودکار از طریق HTTPS ارائه می‌شوند
  • گواهی‌نامه‌های SSL برای شما تأمین و تمدید می‌شوند
  • برای دامنه‌های سفارشی، همین موضوع پس از تنظیم صحیح DNS اعمال می‌شود

وابستگی‌ها را به‌روز نگه دارید

  • به‌صورت دوره‌ای از AI بخواهید: "Check my dependencies for known security vulnerabilities and upgrade the vulnerable ones."
  • آنچه AI تغییر می‌دهد را بررسی کنید — ارتقای وابستگی‌ها گاهی شامل تغییرات breaking می‌شود

پس از تغییرات بزرگ، بررسی انجام دهید

  • پس از افزودن احراز هویت، پرداخت‌ها، آپلود فایل، یا هر چیزی که به داده‌های کاربر دست می‌زند، بررسی را دوباره اجرا کنید
  • قبل از اولین انتشار در محیط production، یک پاکسازی کامل انجام دهید

آنچه Proyecta برای شما مدیریت می‌کند

Section titled “آنچه Proyecta برای شما مدیریت می‌کند”
  • HTTPS و گواهی‌نامه‌ها برای زیردامنه *.proyecta.live شما
  • محل ذخیره داده‌های اپ شما — محتوا، رکوردها و کاتالوگ اپ شما در لایه داده پلتفرم Proyecta (با پشتوانه Postgres) ذخیره می‌شوند، به سازمان شما محدود شده و در حالت استراحت رمزگذاری شده‌اند. اپ منتشرشده شما با یک publishable key (pk_pub_*) که ارسال آن در صفحه ایمن است به آن دسترسی دارد: سرور درخواست‌های ناشناس را فقط به محتوای منتشرشده محدود می‌کند، و اقدامات مدیریتی علاوه بر این نیاز به یک session با sign-in و نقش مناسب دارند. هر درخواست در برابر سازمان شما مجاز می‌شود — یک اپ هرگز نمی‌تواند داده‌های اپ دیگری را بخواند.
  • متغیرهای محیطی — اسرار در یک secrets store اختصاصی ذخیره می‌شوند، در صورت لزوم با backend اپ شما همگام‌سازی می‌شوند، و هرگز به codebase شما commit نمی‌شوند. توجه: اسرار برای اعضای workspace که دسترسی به پروژه دارند قابل مشاهده هستند.
  • runtime های ایزوله — هر پروژه در container خودش اجرا می‌شود، بنابراین مشکلات محیط توسعه بر سایر کاربران تأثیر نمی‌گذارد
  • قبل از اولین انتشار یک بررسی اجرا کنید — یک پاکسازی کامل مشکلات را قبل از آنکه به مرحله live برسند شناسایی می‌کند.
  • پس از تغییرات بزرگ دوباره اجرا کنید — افزودن احراز هویت، پرداخت‌ها یا آپلود فایل سطح حمله جدیدی ایجاد می‌کند.
  • محدوده را مشخص کنید — بررسی‌های روی حوزه‌های خاص سریع‌تر و کامل‌تر از پاکسازی کل اپ هستند.