بررسی امنیتی
از AI بخواهید وضعیت امنیتی اپلیکیشنتان را بررسی کند، بهترین روشهای زیر را دنبال کنید، و اسرار را در صفحهی Settings نگه دارید.
امنیت در Proyecta از ترکیبی از پیشفرضهای پلتفرم، بررسیهای مبتنی بر AI و عادتهایی که باید در خودتان بسازید، تأمین میشود. در ادامه با نحوهی تفکر دربارهی این موضوع آشنا میشوید.
اجرای بررسی امنیتی
Section titled “اجرای بررسی امنیتی”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"
بهترین روشهای امنیتی
Section titled “بهترین روشهای امنیتی”اسرار را ایمن نگه دارید
- هر کلید 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 شوند شناسایی میکند.
- پس از تغییرات بزرگ دوباره اجرا کنید — افزودن احراز هویت، پرداخت یا آپلود فایل، سطح حملهی جدیدی ایجاد میکند.
- محدوده را مشخص کنید — بررسیهای محدود به حوزههای خاص سریعتر و دقیقتر از بررسی کل اپلیکیشن هستند.