코드이그나이터 기본 설정
2015. 12. 7. 13:30ㆍPrograming/Mobile App _Web
코드이그나이터 설정
코드이그나이터의 기본 설정파일은 /aplication/config 내부에 있습니다.
config.php
먼저 config.php 파일을 설정해보도록 해보겠습니다. XSS와 CSRF 관련한 보안 설정도 있기 때문에 반드시 설정을 꼼꼼히 확인해야 하겠습니다.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
//config.php 파일에 직접적으로 접근하는것을 방지합니다.$config['base_url'] = 'http://www.example.com/';
//사이트의 기본 url을 지정합니다. 마지막 부분의 백슬래시도 써야하는것에 유의합니다. //공란으로 두면 자동으로 인식한다고 합니다.$config['index_page'] = '';
//index.php파일의 이름입니다. 보통 rewrite하기 때문에 공란으로 둡니다.$config['uri_protocol'] = 'AUTO';
$config['url_suffix'] = '';
$config['language'] = 'english';
//기본 설정으로 둡니다.$config['charset'] = 'UTF-8';
//반드시 euc-kr을 써야만 하는 경우가 아니라면 그대로 둡니다.$config['enable_hooks'] = FALSE;
//코드이그나이터의 코어를 건드릴 때 사용합니다.$config['subclass_prefix'] = 'MY_';
//코드이그나이터에서 사용자가 작성한 클래스에 붙는 접두사입니다.$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
//url에 사용할 문자의 범위입니다.$config['allow_get_array'] = TRUE;
$config['enable_query_strings'] = FALSE;
//기존의 쿼리문을 사용할지 설정합니다.$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';
$config['directory_trigger'] = 'd';
//기본설정 그대로 사용합니다.$config['log_threshold'] = 0;
/*로그설정입니다. 0부터 4까지 있습니다. 로그의 양이 많으므로 사용시 참고합니다. 0 = Disables logging, Error logging TURNED OFF 1 = Error Messages (including PHP errors) 2 = Debug Messages 3 = Informational Messages 4 = All Messages */$config['log_path'] = '';
//공란으로 둘 시 application/logs/ 에 로그파일이 기록됩니다.$config['log_date_format'] = 'Y-m-d H:i:s';
//로그 기록시 날짜 포맷을 정합니다.$config['cache_path'] = '';
//코드이그나이터는 캐싱기능을 지원하는데 이 때 캐시가 저장될 디렉토리입니다. //공란으로 둘 시 application/cache/ 에 저장됩니다.$config['encryption_key'] = '';
//암호화 기능 사용시 사용되는 키입니다. 반드시 설정해주세요.$config['sess_cookie_name'] = 'ci_session';
//세션 쿠키의 이름을 설정합니다.$config['sess_expiration'] = 3600;
//세션 쿠키의 만료시간을 초단위로 지정합니다.$config['sess_expire_on_close'] = TRUE;
//창을 닫을 때 만료되도록 설정합니다.$config['sess_encrypt_cookie'] = TRUE;
//쿠키에 기록되는 정보를 암호화 할지 설정합니다. 반드시 설정해줍시다.$config['sess_use_database'] = TRUE;
//세션을 쿠키뿐만 아니라 DB를 이용해서 관리하도록 합니다. //쿠키는 변조 가능성이 있으므로 설정해주는것이 좋습니다.$config['sess_table_name'] = 'ci_sessions';
/*세션 DB의 테이블명입니다. 반드시 테이블을 만들어줘야 사용가능합니다. 세션 테이블의 mysql 기본 프로토타입은 아래와 같습니다. CREATE TABLE IF NOT EXISTS `ci_sessions` ( session_id varchar(40) DEFAULT '0' NOT NULL, ip_address varchar(16) DEFAULT '0' NOT NULL, user_agent varchar(120) NOT NULL, last_activity int(10) unsigned DEFAULT 0 NOT NULL, user_data text NOT NULL, PRIMARY KEY (session_id), KEY `last_activity_idx` (`last_activity`) ); */$config['sess_match_ip'] = TRUE;
//세션에서 ip매칭할지 설정합니다.$config['sess_match_useragent'] = TRUE;
//세션에서 useragent를 매칭할지 설정합니다. //설정시 다른 브라우저에서 접속시 세션유지가 되지 않습니다.$config['sess_time_to_update'] = 300;
//세션에서 last_activity 시간을 업데이트 하는 주기를 설정합니다. //너무 작은 값을 입력하면 부하가 걸릴 수 있겠습니다.$config['cookie_prefix'] = "my_";
//쿠키간 충돌을 방지하기위한 접두사를 설정합니다.$config['cookie_domain'] = "www.example.com";
//쿠키의 도메인을 설정합니다.$config['cookie_path'] = "/";
//쿠키의 경로를 지정합니다.$config['cookie_secure'] = FALSE;
//HTTPS를 사용할 경우에만 사용$config['global_xss_filtering'] = TRUE;
//크로스 사이트 스크립팅을 항상 설정합니다. 설정하는것을 추천합니다. //부작용으로 몇몇 위지윅 프로그램의 script 태그가 안 먹힐 수도 있습니다.$config['csrf_protection'] = TRUE;
//크로스 사이트 요청 변조를 방지할 지 설정합니다. 반드시 설정합니다. //크로스 사이트 요청 변조는 제 3자가 폼 내용을 위조하여 전송하는것을 방지합니다.$config['csrf_token_name'] = 'csrf_token_name';
//크로스 사이트 요청 변조 토큰명을 설정합니다.$config['csrf_cookie_name'] = 'csrf_cookie_name';
//크로스 사이트 요청 변조 쿠키명을 설정합니다.$config['csrf_expire'] = 7200;
//크로스 사이트 요청 변조 만료시간을 설정합니다.$config['compress_output'] = TRUE;
//내용을 압축하여 전송합니다. 처리시간은 증가하나 전송시간과 트래픽이 감소합니다. //서버단에서 압축이 가능하다면 설정하지 않는것이 좋다고 합니다.$config['time_reference'] = 'gmt';
/*시간을 출력하는 함수들의 시간 기준을 설정합니다. local : 서버시간 gmt : gmt시간 */$config['rewrite_short_tags'] = FALSE;
//<?php shorttag를 사용할지 설정합니다.$config['proxy_ips'] = '';
//프록시를 설정합니다.
database.php
다음은 데이터베이스 관련 설정을 해보죠. 세션DB도 그렇고 DB 접속을 편리하게 만들어줍니다. database.php 파일을 수정합니다.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); //직접적인 파일 접근을 막습니다.$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
//호스트$db['default']['username'] = '';
//계정명$db['default']['password'] = '';
//암호$db['default']['database'] = '';
//db명$db['default']['dbdriver'] = 'mysql';
//DBMS명$db['default']['dbprefix'] = '';
//DB접두사$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = TRUE;
//DB캐싱$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
자, 기본적인 설정이 마무리 되었습니다. 각 옵션에 관련한 자세한 내용은 CodeIgnighter 한국사용자포럼을 참조하시기 바랍니다.
출처 : http://dovetail.tistory.com/18
'Programing > Mobile App _Web' 카테고리의 다른 글
코드이그나이터 index.php 없애기 (0) | 2015.12.07 |
---|---|
코드이그나이터란? 그리고 설치방법 (0) | 2015.12.07 |
[HTML5] GEOLOCATION (0) | 2015.09.10 |
[HTML] HTML 가운데 정렬 가장 쉽고 한번에 하는 방법 (0) | 2014.09.09 |
Tistory Syntax Highlighter 세로 스크롤 제거하기 (0) | 2014.08.29 |