| 제목 | [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)
// foreach (array('E' => '_ENV', 'G' => '_GET', 'P' => '_POST', 'C' => '_COOKIE', 'S' => '_SERVER') as $key => $superglobal) foreach (array('E' => '_ENV', 'C' => '_COOKIE', 'S' => '_SERVER') as $key => $superglobal)이렇게 수정하면 $_GET, $_POST 값은 그대로 유지할 수 있네요...