3.0.2 에서 3.0.3 으로 업그레이드

업데이트를 수행하기 전에 index.php 파일을 정적 파일로 교체하여 사이트를 오프라인 상태로 만들어야 합니다.

Step 1: CodeIgniter 파일 업데이트

system/ 디렉토리의 모든 파일과 폴더를 교체합니다.

참고

이 디렉토리에 사용자 정의 파일이 있는 경우, 먼저 복사본을 만들어 두세요.

Step 2: ‘base_url’ 설정값이 비어있지 않은지 확인

$config['base_url'] 이 설정되지 않으면 CodeIgniter가 웹사이트의 기본 URL을 자동으로 감지하려 합니다. 이는 새 애플리케이션 개발을 시작할 때 편의를 위한 것일 뿐입니다.

자동 감지는 신뢰할 수 없으며 보안 취약점이 있으므로, 항상 수동으로 설정해야 합니다!

CodeIgniter 3.0.3의 변경 중 하나는 이 자동 감지 방식입니다. 이제 클라이언트가 요청한 호스트명 대신 서버의 IP 주소로 대체됩니다. 따라서 자동 감지에 의존했다면 웹사이트 동작 방식이 변경될 수 있습니다.

예를 들어 여러 도메인을 허용하거나, 요청에 따라 http://https:// 접두사를 동적으로 사용해야 한다면 application/config/config.php 는 여전히 PHP 스크립트이므로 몇 줄의 코드로 이 로직을 구현할 수 있습니다. 예시:

$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;
}