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>
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
23 | http://도메인/~계정으로 접근하기 | sylee | 2008.05.15 | 23080 |
22 | Apache2.4.x 버전 설치 | 호스트웨이 | 2012.06.22 | 23695 |
21 | APM 설치 | 호스트웨이 | 2008.05.19 | 23789 |
20 | 업로드 디렉토리의 .php파일을 text처럼 인식하기 | sylee | 2008.05.15 | 24148 |
19 | 아파치2 에서 mod_cband 사용법 | sylee | 2009.06.05 | 24559 |
18 | PHP에서 MS-SQL 서버를 연동하기 위한 방법 | 호스트웨이 | 2012.04.13 | 25314 |
17 | apache 가상호스트(virtualhost) 사용하기 | 호스트웨이 | 2013.06.03 | 25684 |
16 | 아파치와 tomcat 연동 | 호스트웨이 | 2008.07.01 | 25718 |
15 | 아파치 가상 호스트 설정 해보기 | sylee | 2008.05.20 | 25831 |
14 | 보안을 위한 php.ini 설정 | HOSTWAY | 2008.07.31 | 26384 |
13 | Apache event MPM, Prefork MPM, Worker MPM 방식의 차이점 및 설치 시 설정 방법 | 호스트웨이 | 2014.07.20 | 26733 |
12 | 웹 계정 추가 스크립트 | jook | 2008.07.01 | 27229 |
11 | php.ini 옵션 중 short_open_tag | jook | 2009.02.12 | 27350 |
10 | 보안 서버 구축 - TOMCAT | 호스트웨이 | 2008.07.08 | 27541 |
9 | ab 사용방법 | sylee | 2008.05.15 | 28903 |
8 | 홈페이지 포워딩 하기 | jook | 2008.05.21 | 30779 |
7 | 아파치 에러 코드 | sylee | 2008.05.15 | 30924 |
6 | 웹브라우저에서 디렉토리 리스트가 보일때 | hostway | 2008.05.14 | 31122 |
5 | apache + resin 연동하여 설치하기 | 호스트웨이 | 2008.05.19 | 32941 |
» | register_globals 옵션에 따른 변수 전달 | jook | 2009.02.19 | 34738 |