제목 | [ci 수정] 일반 PHP 프로젝트에 CI 적용하기 | ||
---|---|---|---|
글쓴이 | 테러보이 | 작성시각 | 2015/12/14 08:59:09 |
|
|||
일반 프로젝트에서 ci를 사용하기 위하여 다음과 같은 설정이 필요하여 안내 드립니다. 보통 프로젝트에서 $_GET, $_POST, $_SERVER, $_COOKIE등 변수를 @extract 하여 사용 하는 경우가 많습니다. 하지만 ci로더를 통하여 ci를 호출 하면 보안의 이유로 이를 제거 하게 되는데요. 이를 제거 하지 못하게 하는 방법입니다. # `./ci/system/core/Input.php:575~596`를 주석 처리 합니다. foreach (array($_GET, $_POST, $_COOKIE) as $global) { if ( ! is_array($global)) { if ( ! in_array($global, $protected)) { global $$global; $$global = NULL; } } else { foreach ($global as $key => $val) { if ( ! in_array($key, $protected)) { global $$key; $$key = NULL; } } } } |
|||
다음글 | AWS PHP SDK를 CI 에서 사용 하기. (3) | ||
이전글 | 일반 PHP 프로젝트에 CI 적용하기 (10) | ||
쌈닭
/
2015/12/28 17:13:23 /
추천
0
|
테러보이
/
2015/12/28 20:53:22 /
추천
0
@쌈닭 ci3.0은 내부 적인 문제로 사용 할일이 없어 못올렸는데.. 좋은 정보 감사합니다.
|
쌈닭
/
2015/12/29 12:56:51 /
추천
0
@테러보이 3.0.3 버전에서는 Input.php 가 아닌 CodeIgniter.php 네요... |
테러보이
/
2015/12/30 08:28:18 /
추천
0
@쌈닭 오홍! Input.php역활이 CodeIgniter.php로 옮겨졌나보군요! |
CI 3.0.3 버전에서는
111 라인을(./system/core/CodeIgniter.php)
이렇게 수정하면 $_GET, $_POST 값은 그대로 유지할 수 있네요...