1. ENVIRONMENT 상수
환경을 설정은 로깅 및 오류보고 등에 영향을 미칩니다.
기본적으로 CodeIgniter는 index.php 파일 상단에 development에 대한 환경 상수 설정이 제공됩니다.
define('ENVIRONMENT', 'development');
// 1. development
// 2. testing
// 3. production
// 1. development
// 2. testing
// 3. production
2. Security
CodeIgniter는 악의적인 데이터가 어플리케이션에 전달될 수 가능성을 최소화하기 위하여,
허용하는 URI 문자열이 매우 제한적이며, URI는 다음만을 포함할 수 있습니다.
- Alpha-numeric text
- Tilde: ~
- Period: .
- Colon: :
- Underscore: _
- Dash: -
Register_globals
시스템이 초기화 되는 동안 $_GET, $_POST, $_COOKIE 배열을 제외한 모든 글로벌 변수들은 해제(unset)됩니다.
해제되는 것은 register_globals = off 와 동일합니다.
error_reporting
production 환경에서는 내부 error_reporting 값을 0으로 지정하여 PHP의 에러 리포팅을 비활성화 하는 것이 보안상 바람직합니다.
magic_quotes_runtime
이 지시어는 시스템이 초기화 되는 동안 off 되므로, 데이터베이스에서 데이터를 검색할 때 슬래시를 제거하지 말아야 합니다.
3. Best Practices
POST 데이터, COOKIE 데이터, URI 데이터, XML-RPC 데이터, SERVER 배열 데이터 등으로부터 어플리케이션으로 데이터를 받기 전에 3단계의 과정을 거치기를 권장합니다.
- 변질된 데이터를 필터합니다. (Security class)
- 올바른 타입, 길이, 크기 등에 따라 데이터를 검증하며 1단계를 대신할 때도 있습니니다.(Form Validation class)
- 데이터베이스에 데이터가 전달되기 전에 이스케이프 합니다. (Queries class)
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,