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 | php.ini 옵션 중 short_open_tag | jook | 2009.02.12 | 27350 |
22 | Debian에서 apm 설치할때의 패키지 목록 | jook | 2008.12.27 | 20175 |
21 | Debian 에서 mod_rewrite 활성화 하기 | jook | 2008.12.12 | 19806 |
20 | ModSecurity 설치 해보기 | sylee | 2008.09.11 | 37907 |
19 | 보안을 위한 php.ini 설정 | HOSTWAY | 2008.07.31 | 26384 |
18 | 보안 서버 구축 - TOMCAT | 호스트웨이 | 2008.07.08 | 27541 |
17 | 아파치와 tomcat 연동 | 호스트웨이 | 2008.07.01 | 25718 |
16 | 웹 계정 추가 스크립트 | jook | 2008.07.01 | 27229 |
15 | 홈페이지 포워딩 하기 | jook | 2008.05.21 | 30779 |
14 | 웹접속 속도가 느려 졌을때 점검 해보기 | sylee | 2008.05.20 | 60771 |
13 | 아파치 가상 호스트 설정 해보기 | sylee | 2008.05.20 | 25831 |
12 | APM 설치 | 호스트웨이 | 2008.05.19 | 23789 |
11 | apache + resin 연동하여 설치하기 | 호스트웨이 | 2008.05.19 | 32941 |
10 | http://도메인/~계정으로 접근하기 | sylee | 2008.05.15 | 23080 |
9 | 업로드 디렉토리의 .php파일을 text처럼 인식하기 | sylee | 2008.05.15 | 24148 |
8 | 아파치 에러 코드 | sylee | 2008.05.15 | 30924 |
7 | ab 사용방법 | sylee | 2008.05.15 | 28901 |
6 | apache2.x - 보안서버 구축하기 | sylee | 2008.05.15 | 22986 |
5 | apache1.3 + mod_ssl - 보안서버 구축하기 | sylee | 2008.05.15 | 20082 |
4 | 아파치 환경설정 파일분석 1번째 | sylee | 2008.05.14 | 21377 |