Skip to content

조회 수 17905 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

<?
- register_globals = Off [Security, Performance]
; Global variables are no longer registered for input data (POST, GET, cookies,
; environment and other server variables). Instead of using $foo, you must use
; you can use $_REQUEST["foo"] (includes any variable that arrives through the
; request, namely, POST, GET and cookie variables), or use one of the specific
; $_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"], depending
; on where the input originates. Also, you can look at the
; import_request_variables() function.
; Note that register_globals is going to be depracated (i.e., turned off by
; default) in the next version of PHP, because it often leads to security bugs.
; Read http://php.net/manual/en/security.registerglobals.php for further
; information.

; register_globals = Off [보안 수행]
; 입력 데이터(POST, GET cookies) 와 서버형 변수들은 더이상 전역변수로 등록되지 않는다.
; $foo 란 변수를 사용할때 $_REAUEST["foo"] 로 사용 해야 한다.
; $_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"] 와 같이 사용

 

#####################################################################################
// php.ini 파일 에서 register_globals = on 시 변수형

$PHP_SELF;
$HTTP_REFERER;
$PATH_INFO;
$REMOTE_ADDR;

 

####################################################################################
// php 4.0 까지
// php.ini 파일에서 register_globals = off 시 변수형

$HTTP_SERVER_VARS[PHP_SELF];  // 현재 파일의 경로를 포함한 파일명을 보여줌
$HTTP_SERVER_VARS[HTTP_REFERER]; // 이전페이지의 URL 을 나타냄
$HTTP_SERVER_VARS[REMOTE_ADDR];  // 내 컴퓨터의 IP 주소를 나타냄
$HTTP_SERVER_VARS[SCRIPT_FILENAME]; // 해당 파일의 절대경로를 포함한 파일명을 보여주는 것입니다. /home/somedomain/a.php

$HTTP_GET_VARS[];     // HTTP 프로토콜에서 GET 방식으로 전송한 변수값
$HTTP_POST_VARS[];     // HTTP 프로토콜에서 POST 방식으로 전송한 변수값
$HTTP_FILES_VARS[];     // HTTP 프로토콜에서 파일 이름으로 전송한 변수값 [name][size][type]

// a.html?code=board&name=park 와 같은 스트링 값 까지 알아낼때
$url = $HTTP_SERVER_VARS["HTTP_REFERER"]."?".$HTTP_SERVER_VARS["QUERY_STRING"]

// register_globals_on 일때 변수 재 정의
@extract($HTTP_GET_VARS);
@extract($HTTP_POST_VARS);
@extract($HTTP_SERVER_VARS);
@extract($HTTP_ENV_VARS);


#####################################################################################
// php 4.1 부터
// php.ini 파일에서 register_globals = off 시 변수형
$_SERVER[PHP_SELF];
$_SERVER[SCRIPT_FILENAME]

$_POST[];
$_GET[];

$_SESSION['$member_id'];
$_COOKIE['$member_id'];

// a.html?code=board&name=park 와 같은 스트링 값 까지 알아낼때
$url = $_SERVER_VARS["HTTP_REFERER"]."?".$_SERVER_VARS["QUERY_STRING"]

// register_globals_on 일때 변수 재 정의
@extract($_GET);
@extract($_POST);
@extract($_SERVER);
@extract($_ENV);


#####################################################################################
$_POST와 $HTTP_POST_VARS는 차이

바뀌었습니다. long 타입이 예전부터 쓰이던 것이고, 짧은 타입은 4.1.0 이후로 생긴 것입니다.
두 배열은 같은 키와 같은 값을 가지고 있으므로 내용상 똑같습니다. 하지만 서로 다른 변수입니다.

결정적으로 이 둘이 다른 것은 짧은 타입의 경우 "자동전역(수퍼전역; SuperGlobal)변수"이지만 긴 타입은 그렇지 않다는 것입니다.
즉, $_POST는 함수선언에서 global $_POST; 로 선언하지 않고 사용이 가능하지만 $_HTTP_POST_VARS 는 선언을 해야만 전역으로 인식합니다.

짧은 형식이 '사용이 권장'되는 변수입니다. 긴 형식은 php-5.0 에서 php.ini에 의해 사라질 수 있습니다.

http://kr2.php.net/manual/kr/reserved.variables.php
http://kr2.php.net/manual/kr/language.variables.predefined.php
?>


  1. No Image 07Sep
    by ADMINPLAY
    2013/09/07 by ADMINPLAY
    Views 8972 

    php mysql에 insert시 싱글쿼츠(홑따옴표) 입력 처리 (magic_quotes_gpc에 대한 이해)

  2. No Image 07Sep
    by ADMINPLAY
    2013/09/07 by ADMINPLAY
    Views 7029 

    Ubuntu 에서 PHP Screw 컴파일시 에러날 때

  3. No Image 26Mar
    by ADMINPLAY
    2013/03/26 by ADMINPLAY
    Views 9617 

    [php모듈] php 소스 암호화 하기 - php_screw-1.5

  4. No Image 18May
    by ADMINPLAY
    2010/05/18 by ADMINPLAY
    Views 21989 

    configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.

  5. No Image 24Feb
    by ADMINPLAY
    2010/02/24 by ADMINPLAY
    Views 71308 

    oracle10g + php5.2.11 error [OCIEnvNlsCreate() failed]

  6. No Image 29Jan
    by ADMINPLAY
    2010/01/29 by ADMINPLAY
    Views 19807 

    Warning: Unknown: open(, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

  7. No Image 09Jan
    by ADMINPLAY
    2010/01/09 by ADMINPLAY
    Views 17905 

    register_globals 에 따른 서버 변수형 변환

  8. No Image 09Jan
    by ADMINPLAY
    2010/01/09 by ADMINPLAY
    Views 15583 

    register_globals = off 란?

  9. No Image 09Jan
    by ADMINPLAY
    2010/01/09 by ADMINPLAY
    Views 15485 

    4.1.0이상 php 버전에서 register_globals = Off 일때 기존변수 그대로 사용하기

  10. PHP FreeTDS 사용 (MS-SQL)

  11. No Image 31Dec
    by ADMINPLAY
    2009/12/31 by ADMINPLAY
    Views 17399 

    Fatal error: Call to undefined function domxml_open_mem()

  12. No Image 31Dec
    by ADMINPLAY
    2009/12/31 by ADMINPLAY
    Views 17366 

    pear 1.9 업그레이드 및 패치설치

  13. No Image 31Dec
    by ADMINPLAY
    2009/12/31 by ADMINPLAY
    Views 15979 

    PEC HTTP Setup

  14. No Image 19Oct
    by ADMINPLAY
    2009/10/19 by ADMINPLAY
    Views 17546 

    PHP.INI에서의 세션 관련설명

  15. No Image 28Sep
    by ADMINPLAY
    2009/09/28 by ADMINPLAY
    Views 17436 

    Maximum execution time of 30 seconds exceeded

  16. No Image 19Sep
    by ADMINPLAY
    2009/09/19 by ADMINPLAY
    Views 17241 

    php세션정리

  17. No Image 09Sep
    by ADMINPLAY
    2009/09/09 by ADMINPLAY
    Views 16812 

    Warning: flock(): supplied argument is not a valid stream..대처방법

  18. PHPMyAdmin - blowfish_secret 해결방법

  19. No Image 08Aug
    by ADMINPLAY
    2009/08/08 by ADMINPLAY
    Views 16157 

    php컴파일에러(flex) configure: error: cannot find output from lex; giving up

  20. PHP - eAccelerator 설치

Board Pagination Prev 1 2 3 Next
/ 3

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234