[-문구-Compeople-문구-]

+::WAS::/Apache2014. 11. 18. 17:26

** 특정사이트 만 php환경변수 적용 / apache 가상호스트(VirtualHost) / Register_globals

 

** 환경

  - Apache : 2.2.23

  - PHP : 5.2.8

  - O/S : CentOS release 4.8 (Final) / 32Bit

  - Kernel : Linux localhost.localdomain 2.6.9-89.ELsmp #1 SMP Mon Jun 22 12:32:43 EDT 2009 i686

 

PHP 환경변수 중. register_globals는 4 때부터 보안상 사용하지 않도록 권고 했고

5.3에서 제거 대상이 되어 5.4에서 제거 되었음

관련 내용은 인터넷 검색해보면 많이 나온다. 

 

그래도.. 특정사이트만 테스트용이나, 어쩔수 없이 적용해야 하는경우는

아파치 가상호스트 설정중에, 특정 호스트(사이트)만 적용이 가능하다.

이렇게 설정하면, 전체 사이트에는 영향이 없이, 특정 원하는 사이트만 해당 설정을 적용이 가능하다.

 

[ register_globals 옵션중, 왼쪽 On Local, 오른쪽 Off Master ]

 

위 phpinfo 정보를 보면, 해당사이트인 Local Value 옵션만 On으로 설정되었음을 확인이 가능하다.

Master Level은. 사이트 전체 옵션이다. 현재 Off로 되어 있다.

 

이렇게 되면, 내가 설정한 원하는 사이트만 원하는 옵션 설정이 가능하다.

 

apache 환경 설정 파일중. 가상호스트 설정 파일을 수정해 주면 된다.

ex) /usr/local/apache2/conf/extra/httpd-vhosts.conf

 

# host.co.kr
<VirtualHost *:80>
   ServerName www.host.co.kr

   ServerAlias elsys.kr
   AddDefaultCharset EUC-KR
   DocumentRoot /home/www.host.co.kr/www
   php_flag register_globals on  # PHP환경변수중 register_globals 옵션 On으로 설정
</VirtualHost>

 

원하는 가상호스트에 위와 같이 옵션을 주면 해당 호스트만 적용이 된다.

 

다른 PHP 환경변수도 되는지는 아직 테스트 안해봄.

Posted by Compeople