Upgrading from 3.0.2 to 3.0.3
*****************************

Before performing an update you should take your site offline by
replacing the index.php file with a static one.


Step 1: Update your CodeIgniter files
=====================================

Replace all files and directories in your *system/* directory.

Note:

  If you have any custom developed files in these directories, please
  make copies of them first.


Step 2: Make sure your ‘base_url’ config value is not empty
===========================================================

When "$config['base_url']" is not set, CodeIgniter tries to
automatically detect what your website’s base URL is. This is done
purely for convenience when you are starting development of a new
application.

Auto-detection is never reliable and also has security implications,
which is why you should **always** have it manually configured!

One of the changes in CodeIgniter 3.0.3 is how this auto-detection
works, and more specifically it now falls back to the server’s IP
address instead of the hostname requested by the client. Therefore, if
you’ve ever relied on auto-detection, it will change how your website
works now.

In case you need to allow e.g. multiple domains, or both http:// and
https:// prefixes to be dynamically used depending on the request,
remember that *application/config/config.php* is still a PHP script,
in which you can create this logic with a few lines of code. For
example:

   $allowed_domains = array('domain1.tld', 'domain2.tld');
   $default_domain  = 'domain1.tld';

   if (in_array($_SERVER['HTTP_HOST'], $allowed_domains, TRUE))
   {
           $domain = $_SERVER['HTTP_HOST'];
   }
   else
   {
           $domain = $default_domain;
   }

   if ( ! empty($_SERVER['HTTPS']))
   {
           $config['base_url'] = 'https://'.$domain;
   }
   else
   {
           $config['base_url'] = 'http://'.$domain;
   }
