رفتن به محتوا

بررسی امنیتی

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

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

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

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

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

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

  • "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"

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

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

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

  • مجوزهای مبتنی بر نقش را در اپلیکیشن‌تان پیاده‌سازی کنید ("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 اعمال می‌کند را مرور کنید — به‌روزرسانی وابستگی‌ها گاهی شامل تغییرات شکننده می‌شود

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

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

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

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