2009.02.19 00:18
보안상의 이유로 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>
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
83 | 웹접속 속도가 느려 졌을때 점검 해보기 | sylee | 2008.05.20 | 62350 |
82 | mod_rewrite 모듈 설치 및 기본 사용법 | sylee | 2009.07.02 | 39882 |
81 | ModSecurity 설치 해보기 | sylee | 2008.09.11 | 39173 |
» | register_globals 옵션에 따른 변수 전달 | jook | 2009.02.19 | 36061 |
79 | apache + resin 연동하여 설치하기 | 호스트웨이 | 2008.05.19 | 34357 |
78 | 웹브라우저에서 디렉토리 리스트가 보일때 | hostway | 2008.05.14 | 32401 |
77 | 아파치 에러 코드 | sylee | 2008.05.15 | 32388 |
76 | 홈페이지 포워딩 하기 | jook | 2008.05.21 | 31956 |
75 | 보안 서버 구축 - TOMCAT | 호스트웨이 | 2008.07.08 | 30467 |
74 | ab 사용방법 | sylee | 2008.05.15 | 30104 |
73 | Apache event MPM, Prefork MPM, Worker MPM 방식의 차이점 및 설치 시 설정 방법 | 호스트웨이 | 2014.07.20 | 28676 |
72 | php.ini 옵션 중 short_open_tag | jook | 2009.02.12 | 28627 |
71 | 웹 계정 추가 스크립트 | jook | 2008.07.01 | 28526 |
70 | 보안을 위한 php.ini 설정 | HOSTWAY | 2008.07.31 | 27592 |
69 | 아파치 가상 호스트 설정 해보기 | sylee | 2008.05.20 | 27020 |
68 | apache 가상호스트(virtualhost) 사용하기 | 호스트웨이 | 2013.06.03 | 27009 |
67 | 아파치와 tomcat 연동 | 호스트웨이 | 2008.07.01 | 26953 |
66 | PHP에서 MS-SQL 서버를 연동하기 위한 방법 | 호스트웨이 | 2012.04.13 | 26898 |
65 | 아파치2 에서 mod_cband 사용법 | sylee | 2009.06.05 | 25903 |
64 | 업로드 디렉토리의 .php파일을 text처럼 인식하기 | sylee | 2008.05.15 | 25359 |