
بخش بزرگی از آسیبپذیریهای برنامههای وب با رعایت چند اصل پایه در زمان طراحی و توسعه قابل پیشگیری است. این راهنما با تکیه بر منابع OWASP، مهمترین این اصول را مرور میکند.
کنترل دسترسی
- کنترل دسترسی را همیشه در سمت سرور و برای هر درخواست بررسی کنید.
- به شناسههای ارسالی از سمت کاربر اعتماد نکنید و مالکیت منبع را بررسی کنید.
- اصل حداقل دسترسی را برای نقشها رعایت کنید.
مدیریت ورودی و خروجی
- همه ورودیها را در سمت سرور اعتبارسنجی کنید.
- برای جلوگیری از تزریق SQL از پرسوجوهای پارامتری استفاده کنید.
- خروجی را متناسب با زمینه (HTML، JavaScript، URL) کدگذاری کنید تا از XSS جلوگیری شود.
احراز هویت و نشست
- گذرواژهها را با الگوریتمهای مناسب مانند bcrypt یا Argon2 درهمسازی کنید.
- کوکیهای نشست را با ویژگیهای Secure، HttpOnly و SameSite تنظیم کنید.
- برای فرمهای تغییر وضعیت، از توکن CSRF استفاده کنید.
پیکربندی و اسرار
- کلیدها و گذرواژهها را در کد منبع قرار ندهید و از متغیرهای محیطی یا مخزن اسرار استفاده کنید.
- سرآیندهای امنیتی مانند Content-Security-Policy را تنظیم کنید.
- پیامهای خطا را بدون جزئیات فنی به کاربر نمایش دهید.
وابستگیها
- کتابخانهها را بهروز نگه دارید و آسیبپذیریهای آنها را پایش کنید.
برای ارزیابی جامع، از استاندارد OWASP ASVS بهعنوان فهرست الزامات امنیتی استفاده کنید.