1. ENVIRONMENT 상수

환경을 설정은 로깅 및 오류보고 등에 영향을 미칩니다.
기본적으로 CodeIgniter는 index.php 파일 상단에 development에 대한 환경 상수 설정이 제공됩니다.

define('ENVIRONMENT', 'development');
// 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단계의 과정을 거치기를 권장합니다.
  1. 변질된 데이터를 필터합니다. (Security class)
  2. 올바른 타입, 길이, 크기 등에 따라 데이터를 검증하며 1단계를 대신할 때도 있습니니다.(Form Validation class)
  3. 데이터베이스에 데이터가 전달되기 전에 이스케이프 합니다. (Queries class)


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,