Linux WEB

register_globals 옵션에 따른 변수 전달

2009.02.19 00:18

jook 조회 수:34752

보안상의 이유로 php.ini 파일의 register_globals 옵션을 off로 설정해 놓은 웹서버들이 많이 있으며,  이런 경우는 form 을 통해서 변수를 전달 할 때 아래와 같이 제약을 받게 된다.

ex>

입력 폼
=============================================
<form method="post" action="result.php">
<input type="text" name="subject" size="20" maxlength="10">
<input type="submit" value="확인">
</form>
=============================================


register_globals = on 일때

form으로부터 전달 받은 변수를 $_POST[subject], $subject 등과 같이 사용 할 수 있다.

result.php
===================================
<?
echo("$subject");        <--- 사용가능
echo("$_POST[subject]");  <--- 사용가능
?>
===================================



register_globals = off 일때

form으로부터 전달 받은 변수를 $subject 와 같은 형식으로는 사용할 수 없으며, $_POST[subject]의 형식으로 사용이 가능하다.

result.php
===================================
<?
echo("$subject");        <--- 사용 불가능
echo("$_POST[subject]");  <--- 사용 가능
?>
===================================

단, 아래와 같이 result.php상단에 아래와 같은 형식으로 extract 선언을 하거나, header 파일에 선언하여 include 한 후에는 $subject 와 같은 형식으로 변수 사용이 가능하다.

result.php
===================================
<?
@extract($_GET);
@extract($_POST);
@extract($_SERVER);

echo("$subject");        <--- 사용가능
echo("$_POST[subject]");  <--- 사용가능
?>
===================================


-tip
서버의 정책이 register_globals=off 일때, 특정 가상호스트나, 특정 디렉토리 하위에서 register_globals=on 으로 사용 가능하다.
가상호스트 설정 부분에 아래와 같이 php_flag 옵션으로 추가를 하거나, 특정 디렉토리 내에 .htaccess 파일을 생성해서 php_flag register_globals on 을 추가하고 사용하면 된다.

<VirtualHost xxx.xxx.xxx.xxx>
   ...
php_flag register_globals on
   ...
</VirtualHost>

번호 제목 글쓴이 날짜 조회 수
23 PHP 컴파일시 에러 메세지가 나오는 경우 조치방법 호스트웨이 2012.12.14 10339
22 PHP 컴파일시 에러 메세지가 나오는 경우 조치방법-2 호스트웨이 2012.12.20 6137
21 아파치 특정폴더에 암호걸기 호스트웨이 2012.12.28 8167
20 64bit 에서 php 컴파일시 에러 메세지 발생 시 대처방법-3 호스트웨이 2012.12.28 8587
19 apache 쓸모없는 로그 남기지 않는 방법. 호스트웨이 2012.12.28 6761
18 apache 가상호스트(virtualhost) 사용하기 호스트웨이 2013.06.03 25684
17 Apache event MPM, Prefork MPM, Worker MPM 방식의 차이점 및 설치 시 설정 방법 호스트웨이 2014.07.20 26757
16 mod_evasive를 이용한 웹 DDoS 방어 호스트웨이 2014.08.19 13117
15 Apache-Tomcat Multi Instance 설정 file 호스트웨이 2015.05.28 10720
14 Apache 설치 후 WEB 403 Forbidden 에러 호스트웨이 2015.09.08 20326
13 WEB에 특정 IP접근 차단 호스트웨이 2015.09.10 10109
12 외부 링크 도용을 막기 위한 아파치 설정 호스트웨이 2015.09.11 8431
11 httpd.pid 파일 오류 메시지 (20014) 호스트웨이 2015.09.12 11944
10 Apache 동시접속자 수 알아내기 호스트웨이 2015.09.13 9320
9 Linux LVS 사용하기 호스트웨이 2015.09.16 10299
8 Apache Log 관리 방법 (Logrotate) 호스트웨이 2015.09.17 11217
7 웹부하 테스트 - httperf 호스트웨이 2015.09.18 8994
6 Alternative PHP Cache 설치 & 설정 호스트웨이 2015.09.18 6520
5 apache - mod_url 설치 호스트웨이 2015.09.18 10291
4 cronlog 설정 호스트웨이 2015.09.18 8052