امنیت در CodeIgniter
- شنبه 2 آبان 1405 ساعت 04:00
- 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 انباشته نکنید و برای رفتارهای تکرارشونده یک کلاس یا تابع مستقل بسازید. قبل از انتشار، مسیر موفق و مسیر خطا را با داده واقعی اما غیرحساس آزمایش کنید.
سایر پست های داکیومنت
- سپاسگزاری و مشارکتکنندگان
- نیازمندیهای سرور
- اطلاعات پایه
- تاریخچه تغییرات
- توافقنامه مجوز
- به کدایگنایتر خوش آمدید
- نصب
- دانلود کدایگنایتر
- آپگرید از ورژنهای قبلی
- عیبیابی
- بررسی اجمالی
- شروع به استفاده از کدایگنایتر
- کدایگنایتر در یک نگاه
- فیچرهای کدایگنایتر
- فلوچارت اپلیکیشن
- مدل ویو کنترلر
- اهداف طراحی و معماری
- خودآموز
- صفحات استاتیک
- بخش اخبار
- ساخت آیتمهای خبری
- جمعبندی
- مشارکت در کدایگنایتر
- نوشتن مستندات CodeIgniter
- گواهی مبدا توسعهدهنده
- مباحث کلی
- URLها در کدایگنایتر
- کنترلرها
- نامهای رزرو شده
- ویوها
- مدلها
- هلپرفانکشنها
- استفاده از لایبرریهای کدایگنایتر
- ساخت لایبرری
- استفاده از درایورهای کدایگنایتر
- ساخت درایور
- ساخت کلاسهای هسته سیستم
- ساخت کلاسهای کمکی
- هوکها - توسعه هسته فریمورک
- بارگذاری خودکار ریسورسها
- فانکشنهای عمومی
- فانکشنهای سازگاری
- مسیریابی URI
- هندل کردن خطاها
- کش کردن صفحات وب
- ارزیابی و تجزیه و تحلیل عملکرد اپلیکیشن
- اجرای کدایگنایتر به وسیله خط فرمان
- مدیریت چندین اپلیکیشن
- هندل کردن محیطهای چندگانه
- سینتکس جایگزین PHP برای فایلهای ویو
- امنیت در CodeIgniter
- راهنمای کدنویسی در PHP
- کتابخانهها
- کلاس بنچمارک
- درایور کش
- کلاس تقویم
- کلاس سبد خرید
- کلاس تنظیمات
- کلاس ایمیل
- کلاس رمزگذاری قدیمی
- کتابخانه رمزنگاری
- کلاس آپلود فایل
- اعتبارسنجی فرم
- کلاس FTP
- کلاس پردازش تصویر
- کلاس Input
- کلاس JavaScript
- کلاس زبان
- کلاس Loader
- کلاس مایگریشن
- کلاس Output
- کلاس صفحهبندی
- کلاس Parser قالب
- کلاس امنیت
- کتابخانه Session
- کلاس جدول HTML
- کلاس Trackback
- کلاس تایپوگرافی
- کلاس آزمون واحد
- کلاس URI
- کلاس User Agent
- کلاسهای XML-RPC و سرور XML-RPC
- کلاس ساخت آرشیو ZIP
- مرجع دیتابیس
- شروع سریع دیتابیس: کد نمونه
- پیکربندی دیتابیس
- اتصال به دیتابیس
- اجرای Queryها
- دریافت نتایج Query
- متدهای کمکی دیتابیس
- کلاس Query Builder
- تراکنشهای دیتابیس
- اطلاعات ساختاری دیتابیس
- فراخوانی سفارشی فانکشن
- کلاس کش دیتابیس
- کلاس Database Forge
- کلاس Database Utility
- مرجع Driverهای دیتابیس
- هلپرفانکشنها
- هلپرفانکشن Array
- CAPTCHA Helper
- هلپرفانکشن Cookie
- Date Helper
- هلپرفانکشن Directory
- Download Helper
- Email Helper
- File Helper
- هلپرفانکشن Form
- HTML Helper
- Inflector Helper
- هلپرفانکشن Language
- هلپرفانکشن Number
- Path Helper
- Security Helper
- Smiley Helper
- هلپرفانکشن String
- Text Helper
- Typography Helper
- URL Helper
- XML Helper
تگ ها
- Emmet
- MVC
- PhpDoc
- Type hinting
- الگوهای طراحی
- شیگرایی
- کامپوزر
- عبارتهای باقاعده
- کدایگنایتر
- مستندسازی
- MySQL
- php
- فریمورک
- کدنویسی
- IDE
- پلاگین
- کتاب
- لینوکس
- لایبرری
- PHP-ML
- لاراول
- جاوااسکریپت
- کش
- سیستم دیزاین
- دیجیتال مارکتینگ
- UI
- هوش مصنوعی
- کلاد
- کلاد کد
- دیتابیس
- دوآپس
- مهندسی نرم افزار
- پایتون
- وب سرور
- LLM
- طراحی دامنه محور