• 3.1.9
  • کامل شده
  • منقضی شده
این داکیومنت از طرف توسعه‌دهنده ساپورت نمی‌شود، جدیدترین ورژن داکیومنت بزودی ترجمه خواهد شد.

امنیت در CodeIgniter 3 یک مسئولیت چندلایه است. فریمورک ابزارهایی برای مقابله با برخی ورودی‌های مخرب، محافظت CSRF، فیلتر خروجی و ساخت Query امن فراهم می‌کند، اما هیچ فیلتر واحدی جایگزین طراحی امن برنامه نیست.

ساختار و API اصلی

برای فرم‌های POST، محافظت CSRF را در تنظیمات فعال کنید و Token را در فرم قرار دهید. برای جلوگیری از XSS، داده را هنگام نمایش متناسب با محل خروجی Escape کنید. برای SQL Injection از Query Builder یا Query Binding استفاده کنید و برای آپلود فایل، نوع، اندازه، نام و مسیر ذخیره‌سازی را کنترل کنید.

نمونه استفاده

 $config['csrf_protection'] = TRUE;
 $config['csrf_token_name'] = 'csrf_test_name';
 $config['csrf_cookie_name'] = 'csrf_cookie_name';
 $config['csrf_expire'] = 7200;
 $config['csrf_regenerate'] = TRUE;

نکته مهم

از XSS Filtering عمومی روی تمام ورودی‌ها به‌عنوان راهکار امنیتی استفاده نکنید. داده را بر اساس Context خروجی Escape کنید و نسخه 3.1.9 را با وصله‌های امنیتی و محدودیت‌های PHP قدیمی آن ارزیابی کنید.

مطالعه مرتبط

برای ادامه مطالعه، MVC، کوئری، ترنزکشن را ببینید.

نکات پیاده‌سازی

این قابلیت بخشی از چرخه درخواست CodeIgniter است و باید با Controller، Model و View هماهنگ شود. تنظیمات را در محل مناسب نگه دارید، منطق تجاری را در Controller انباشته نکنید و برای رفتارهای تکرارشونده یک کلاس یا تابع مستقل بسازید. قبل از انتشار، مسیر موفق و مسیر خطا را با داده واقعی اما غیرحساس آزمایش کنید.

سایر پست های داکیومنت