Input Validation & Sanitisation Always use CI3's Form Validation library before processing any user input. Never use $_GET , $_POST , or $_REQUEST directly. Always go through $this->input . Always prevent XSS (Cross-Site Scripting) by using $this->security->xss_clean() for other texts not part of the form. Enabling global_xss_filtering in the config may break binary/JSON POST bodies. For APIs, handle XSS manually per field. Cross-Site Request Forgery ( CSRF ) Enable CSRF protection globally in config.php . Always use echo form_open(); since it automatically adds the CSRF token value. If you can't, then include <?= $this->security->get_csrf_token_name() ?> in every form (eg: ajax). SQL Injection Prevention NEVER concatenate user input into raw SQL. Avoid $this->db->query() with raw user input. Always use CI3's Query Builder or prepared statements with bindings . File Upload Security Use CI3's Upload library. Do not use move_upl...
Setting up a local environment doesn't have to be finnicky. Move those config files into the trash bin. Doesnt matter the platform (macOS & Windows compatible), these modern tools make your local environment simpler. Well, at least simpler than XAMPP or MAMP lah. Laravel Herd Blazingly fast, native local environment for PHP and Laravel projects. Also support other frameworks like CI3 and such. Why? Plug-and-play bro. No manual config required. Easy access Your projects can be accessed instantly via a .test domain right out of the box. Simply lovely Click-click and you're done. XAMPP or MAMP can never. Installing Laravel Herd macOS: Download Herd for macOS , open the .dmg file, and drag it to your Applications folder. Windows: Download Herd for Windows , run the .exe, and follow the setup wizard. Setting Up Your First Project: Open the Herd tray icon and navigate to Settings > Sites. Click Add site and point it to your project folder. Ensure ...