일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 워드프레스 피드
- wordpress feed
- Apache
- mapping
- 설정 파일
- 아파치 프록시
- graph api
- wordpress rss
- 엘라스틱서치
- htaccess
- Elasticsearch
- Kibana
- config
- 아파치
- memcache
- memcached
- template
- 맵핑
- wordpress function
- 인스타그램
- 프록시
- 워드프레스 rss
- 크롤링
- Wordpress
- htpasswd
- 워드프레스
- elasticsrach template
- Today
- Total
EunsooD
SERVER 옵션들 본문
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 : 클라이언트 정보저장..
'STUDY > PHP' 카테고리의 다른 글
배열 안에 객체가 있을 때, 객체 값으로 정렬하는 방법. (0) | 2016.07.07 |
---|---|
xml 데이터 -> json으로 변경하기.. (0) | 2014.10.14 |
Crontab 설정 방법 (0) | 2014.09.18 |
들어온 IP에 대해서 C클래스만 비교하여 허용하는 함수 (0) | 2014.09.05 |
cURL (0) | 2014.07.31 |