CI 환경설정 - 02 (기본설정,로그,세션,쿠키,출력)

Codeigniter 환경설정 

기본설정 (도메인,index 경로, 주소정의 방식,언어, 문자셋,로그설정 등)

application/config/config.php

/**
* 기본 도메인 주소
*/
$config['base_url']	= '';


/**
* index 파일경로
* mod_rewrite 이용시 값은 비울것
*/
$config['index_page'] = 'index.php';


/**
* 주소 규약 정의 방식 
* 'AUTO'			자동 설정
* 'PATH_INFO'		경로 정보 사용
* 'QUERY_STRING'	QUERY_STRING 사용
* 'REQUEST_URI'		REQUEST_URI 사용
* 'ORIG_PATH_INFO'	ORIG_PATH_INFO 사용
* AUTO 인경우 $this->input->get('test'); 로 값을 받아 올 수 있음.
*/
$config['uri_protocol']	= 'AUTO';

/**
* 주소에 접미사를 등록 ".html" 으로 설정하면 아래와 같이 표현 가능
* domain.com/class/method/vars.html
*/
$config['url_suffix'] = '';

/**
* 언어 설정
*/
$config['language']	= 'english';

/**
* 기분 문자셋
*/
$config['charset'] = 'UTF-8';


/**
* 시스템 Hook 허용 여부
* http://www.codeigniter-kr.org/user_guide_2.1.0/general/hooks.html
*/
$config['enable_hooks'] = FALSE;

/**
* 사용자 정의 클래스명의 접두어
* core 클래스는 CI로 시작되어야 하나 아래의 접두어를 사용 할 수 있다.
* user 라이브러리는 아래에 설정된 접두어를 사용해야 한다.
*/
$config['subclass_prefix'] = 'MY_';

/**
* URL에 허용된 문자
* 공백은 모든 문자를 허용 하는 것이나 보안상 허술해짐
*/
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

/**
* QUERY_STRING 사용 여부 및 설정
* allow_get_array : $_GET 배열 사용 여부
*  -  를FALSE로 설정할경우 (기본값 TRUE) INPUT 클래스에서 전역(global) GET 배열을 삭제합니다..
* enable_query_strings : QUERY_STRING 에 콘트롤과 메소드 사용 여부
* controller_trigger : 콘트롤(클래스) 변수명
* function_trigger : 함수(메소드) 변수명
* directory_trigger : 디렉토리경로 변수명 (현재는 사용 안함)
* index.php?c=controller&m=method
*/
$config['allow_get_array']		= TRUE;
$config['enable_query_strings'] = FALSE;
# 쿼리스트링을 이용하시면 URL 헬퍼 ( form 헬퍼와 같이 URLs을 생성하는 헬퍼들) 을 사용하실수 없습니다. 
$config['controller_trigger']	= 'c';
$config['function_trigger']		= 'm';
$config['directory_trigger']	= 'd';


/**
* 로그 임계값(기록 레벨)
* 사이트 실제 운용시 1로 설정 할것. 2이상이면 로그 파일은 빨리 채워 진다.
* 0 = 비활성화 로깅, 오류 로깅이 꺼져 
* 1 = 오류 ​​메시지 (PHP 오류 포함)
* 2 = 디버그 메시지 
* 3 = 정보 메시지 
* 4 = 모든 메시지
*/
$config['log_threshold'] = 0;

/**
* 로그파일 경로- 전체 경로 사용
* 기본 : application/logs
*/
$config['log_path'] = '';

/**
* 로그 시간 포멧
*/
$config['log_date_format'] = 'Y-m-d H:i:s';

/**
* 캐쉬 경로 - 전체 경로 사용
* 기본 : system/cache
*/
$config['cache_path'] = '';

/**
* 암호화 키
* 세션,암호화 클래스 사용시 필히 입력 할것.
* http://cikorea.net/user_guide_2.1.0/libraries/sessions.html
* http://cikorea.net/user_guide_2.1.0/libraries/encryption.html
*/
$config['encryption_key'] = '';


/**
* 세션 환경설정 값
* sess_cookie_name : 세션 쿠키 명
* sess_expiration : 세션 유지 시간. 기본값은 2 시간(7200초). 유효기간을 무한대로 하시려면 0으로 설정.
* sess_expire_on_close : 브라우저가 닫힐때 세션이 자동만료 되도록 할것인지 여부.
* sess_encrypt_cookie : 세션데이터를 암호화 할것인지 설정합니다.
* sess_use_database : 디비 세션 사용 여부
* sess_table_name : 디비세션 테이블명
* sess_match_ip : 세션데이터를 읽을때 사용자의 IP주소를 일치시킬지 설정합니다.어떤 ISP들은 IP를 동적으로 변경시킵니다. 그러므로, 유효기간이 무한대인 세션을 만드시려면 이 설정을 FALSE 로 두셔야합니다.
* sess_time_to_update : 세션데이터를 읽어들일때 User Agent 를 일치시킬지 설정합니다.
*/
$config['sess_cookie_name']		= 'ci_session';
$config['sess_expiration']		= 7200;
$config['sess_expire_on_close']	= FALSE;
$config['sess_encrypt_cookie']	= FALSE;
$config['sess_use_database']	= FALSE;
$config['sess_table_name']		= 'ci_sessions';
$config['sess_match_ip']		= FALSE;
$config['sess_match_useragent']	= TRUE;
$config['sess_time_to_update']	= 300;


/**
* 큐키 관련 변수
* cookie_prefix : 큐키변수 접두어
* cookie_domain : 쿠키 도메인
* cookie_path : 쿠키 적용 경로
* cookie_secure : 암호화 사용 여부
*/
$config['cookie_prefix']	= "";
$config['cookie_domain']	= "";
$config['cookie_path']		= "/";
$config['cookie_secure']	= FALSE;


/**
* xss 필터링 사용 여부
*/
$config['global_xss_filtering'] = FALSE;


/**
* 크로스 사이트 요청 위조 보안
* 폼헬퍼(form helper)의 form_open() 함수를 사용하면 폼의 CSRF 보호를위한 hidden 필드가 자동으로 삽입됩니다.
* csrf_protection : CSRF 보호를 활성화 여부
* csrf_token_name : 인증 토큰명
* csrf_cookie_name : 인증 쿠키명
* csrf_expire : 인증 유효 기간
*/
$config['csrf_protection'] = FALSE;
$config['csrf_token_name'] = 'csrf_test_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_expire'] = 7200;


/**
* 압축 출력 여부
* 압축 사용시 출력 클래스 전 echo 사용하지말것.
*/
$config['compress_output'] = FALSE;

/**
* 시간 기준
* local : 지역 시간
* gmt : 그리니치 표준 시각
*/
$config['time_reference'] = 'local';

/**
* 짧은 태그 사용 여부
*/
$config['rewrite_short_tags'] = FALSE;

/**
* 프록시 허용 IP 목록
* 서버가 reverse proxy 뒤에 있는 경우 CI는 방문자 IP를 식별 하기 위해 HTTP_X_FORWARDED_FOR 헤더를 신뢰해야 하는 프록시 IP 주소를 입력함.
*/
$config['proxy_ips'] = '';