EunsooD

SERVER 옵션들 본문

STUDY/PHP

SERVER 옵션들

EunsooD 2014. 8. 11. 15:46
반응형

PHP 에서는 프로그래머가 사용하기 쉽도록 여러가지 필요한 변수들을 미리 정의해 놓고 있다.

사용 방법 예
<?= $REMOTE_ADDR ?> 
<?= getenv("REMOTE_ADDR") ?> 
<?= $_SERVER["REMOTE_ADDR"] ?>


REMOTE_ADDR
사용자가 현재 페이지를 보고 있는 시스템의 IP 주소


REMOTE_PORT
사용자의 시스템이 웹서버와 통신하고 있는 port 번호


QUERY_STRING
해당 페이지를 접근할 때 사용된 query string.


REQUEST_URI
이 페이지를 접근하기 위해 사용한 URI. 예: '/index.html'.


REQUEST_METHOD
페이지가 요구될 때 사용된 method: 예: 'GET', 'HEAD', 'POST', 'PUT'.

HTTP_REFERER
현재 페이지를 찾아온 페이지. 현재페이지로 넘어오는 링크가 있고, 이 링크를 클릭하여 현재 페이지로 넘어온 경우 이전 페이지의 주소가 설정된다. 이 값은 사용자의 브라우저에 따라 설정될 수도 있고 아닐 수도 있다.


DOCUMENT_ROOT
현재 스크립트가 샐행중인 document root 디렉토리. 서버의 설정 파일에 정의되어 있다.


SCRIPT_NAME
현재 스크립트의 경로. 이것은 해당 페이지가 자기 자신을 가리킬 때 사용하면 유용하다. ( /test.php 와 같이 표시된다. )


PHP_SELF
document root를 기준으로 한 현재 실행중인 스크립트의 파일 이름. ( /test.php 와 같이 표시된다. )


SCRIPT_FILENAME
현재 실행되고 있는 스크립트의 절대 경로명 ( 리눅스의 경우 /home/test/public_html/test.php 와 같이 표시된다. )

$_SERVER['DOCUMENT_ROOT'] = 현재 사이트가 위치한 서버상의 위치 = webappinclude

$_SERVER['HTTP_ACCEPT_ENCODING'] = 인코딩 방식 = gzip, deflate

$_SERVER['HTTP_ACCEPT_LANGUAGE'] = 언어 = ko

$_SERVER['HTTP_USER_AGENT'] = 사이트 접속한 사용자 환경 = Mozilla4.0(compatible; MSIE 6.0; Windows NT 5.1; Q312461; .NET CLR 1.0.3705

$_SERVER['REMOTE_ADDR'] = 사이트 접속한 사용자 IP = xxx.xxx.xxx.xxx

$_SERVER['SCRIPT_FILENAME'] = 실행되고 있는 위치와 파일명 = webappincludeindex.php

$_SERVER['SERVER_NAME'] = 사이트 도메인 = WWW.X2CHI.COM

$_SERVER['SERVER_PORT'] = 사이트가 사용하는 포트 = 80

$_SERVER['SERVER_SOFTWARE'] = 서버의 소프트웨어 환경 = Apache1.3.23 (Unix) PHP4.1.2 mod_fastcgi2.2.10 mod_throttle3.1.2 mod_ssl2.8.6 OpenSSL0.9.6c

$_SERVER['GATEWAY_INTERFACE'] = cGI 정보 = CGI1.1

$_SERVER['SERVER_PROTOCOL'] = 사용된 서버 프로토콜 = HTTP1.1

$_SERVER['REQUEST_URI'] = 현재페이지의 주소에서 도메인 제외 =  index.phpuser=&name=

$_SERVER['PHP_SELF'] = 현재페이지의 주소에서 도메인과 넘겨지는 값 제외 = index.php

$_SERVER['APPL_PHYSICAL_PATH'] = 현재페이지의 실제 파일 주소 = Dwebapp



==========================================================================================================

이 변수는 현재 주소란에 입력된 도메인을 기준으로 해당 도메인으로 접속했을 때 기본적으로 연결되어 있는 폴더를 뜻합니다.

예를 들어 test.com 이란 도메인을 서버의 /home/test/html 이란 폴더로 연결을 해놨다면...

브라우저에서 http://www.test.com 으로 접속을 하게되면  /home/test/html 디렉토리로 연결이 되는거죠. 바로 이 디렉토리가 $DOCUMENT_ROOT 변수에 저장된 디렉토리가 되는 것입니다.

덧붙여서 include문은 절대경로를 사용했을 경우 웹사이트의 루트가 아닌 파일시스템의 루트를 기준으로 접근을 합니다. 그래서 $DOCUMENT_ROOT라는 변수가 필요한 것이죠.

$DOCUMENT_ROOT 는 파일시스템에서 웹사이트의 루트까지 경로를 담고 있는 것이고요.
===========================================================================================================

현재 URL : /html/test?id=aa&passwd=bb 라고 가정..

$PHP_SELF(정말 많이 사용하는거..) : /html/test 값이 들어있음..

$REQUEST_URI : /html/test?id=aa&passwd=bb 값이 들어있음.. 인증후에
넘어갈때.. 정확치 않는 복수개의 변수값들이 딸려올때..
form 으루 넘긴 값에서 hidden 일때 , post루 넘긴 값은 안
나타남.. get으루 넘겨야 모든 변수들이 나타남..

$QUERY_STRING : 넘어온 변수들만 저장 id=aa&passwd=bb 이렇게..

$SERVER_NAME : www.servername.co.kr 이 들어있다..

$SERVER_ADMIN : admin_id@userhost.co.kr 이 들어있슴..

$REMOTE_ADDR : 현재의 클라이언트의 ip가 들어 있슴. ex, 211.111.xxx.xxx

$HTTP_COOKIE : 현재의 쿠키정보저장 ex, email=bellheat; name=aaaa
가끔 씀.. 현재의 쿠키 파악해서.. strchr등으루 찾아서
원하는 쿠키만을 삭제,추가등.. 마니 씀..

$HTTP_COOKIE_VARS["쿠키변수이름"] : 쿠키변수의 값을 저장.. 쿠키변수들
이 어떤것이 저장 되어있는지 확실
히 아는경우 사용..

$HTTP_USER_AGENT : 클라이언트 정보저장..


반응형
Comments