티스토리 뷰
개요
간단하게 _SERVER 환경변수 를 사용하여
- 서버 이름
- 유저 에이전트 정보
- 현재 사용자의 IP 주소
- 사용자가 접속한 포트 접속 정보
- ACCEPT 헤더 정보
- 요청 URL
을 알아보도록 하겠다.
코드
<html>
<head>
<title>_SERVER 환경변수 사용하기</title>
</head>
<body>
<?php
echo "서버 이름 : {$_SERVER['SERVER_NAME']} <br/>";
echo "유저 에이전트 정보 : {$_SERVER['HTTP_USER_AGENT']} <br/>";
echo "현재 사용자 IP 주소 : {$_SERVER['REMOTE_ADDR']} <br/>";
echo "사용자의 포트 접속 정보 : {$_SERVER['REMOTE_PORT']} <br/>";
echo "ACCEPT 헤더 정보 : {$_SERVER['HTTP_ACCEPT']} <br/>";
echo "요청 URL : {$_SERVER['REQUEST_URI']} <br/>";
?>
</body>
</html>
설명
서버의 이름은 $_SERVER['SERVER_NAME'],
유저 에이전트 정보는 $_SERVER['HTTP_USER_AGENT'],
현재 사용자의 IP 주소는 $_SERVER['REMOTE_ADDR'],
사용자의 포트 접속 정보는 $_SERVER['REMOTE_PORT'],
ACCEPT 헤더 정보는 $_SERVER['HTTP_ACCEPT'],
요청 URL은 $_SERVER['REQUIEST_URI']이다.
세부 설명
이 중, 서버의 이름은
사이트 도메인으로 접속하지 않거나 없다면
IP 주소로 표현된다.
ACCEPT 헤더 정보는 클라이언트가 웹 서버에게 데이터를 요청시,
ACCEPT 헤더 정보에 있는 MIME 타입만 돌려받기를 원한다는 명시이다.
즉, ACCEPT Header Information에 "text/html"이 있다면
그 MIME 값에 맞게 HTML 데이터만 반환되어야 한다.
요청 URL은 현 php 페이지에서 도메인을 제외한 주소이다.
참고 자료
이외에 _SERVER 환경변수의 종류에는 또 무엇이 있을지
잘 정리된 블로그를 찾다가 아래의 블로그를 발견하여 공유드린다.
https://unabated.tistory.com/entry/PHP-SERVER-%ED%95%A8%EC%88%98
테스트 환경에서의 코드 실행 화면
로컬호스트로 접속하였기에
서버 이름이 본인의 IP 주소로 출력된다.
localhost로 접속하면 서버 이름이 localhost로 뜨므로,
cmd에서 ipconfig
명령어로 자신의 Ipv4 주소를 확인하여 접속해보면
서버 이름이 IP 주소로 나올 것이다.
서버가 필자의 서버이니 당연한 것이다.
유저 에이전트 정보에서는 사용자가 사용 중인
웹 브라우저 환경의 정보가 담긴 것을 알 수 있다.
그래서 이 정보가 왜 필요한데?
용도
물론 개발할 때 환경 테스트를 위해 이러한 정보가 필요할 수도 있다.
이런 정보들이 유용하게 동의 하에 통계적으로 수집되어
서비스를 개선시킬 수도 있을 것이다.
PHP 프로그래밍을 하다보면 서버환경이나
사용자의 환경 정보를 서버사이드에서 활용할 필요가 있습니다.
현재 웹사이트의 document root 경로라든지
사용자의 환경이나 아이피등의 정보를 이용해 처리해야 하는 경우가 있을테니까요.
출처: https://beagle-dev.tistory.com/167 [언젠간 되어있겠지:티스토리])
예상 위험
하지만, XSS(CrossSite Scripting) 공격의 관점에서 보면,
PHP 스크립트를 작성해서
사용자의 이러한 환경 정보들을 탈취할 수도 있으니
양날의 검과 같다고 느낀다.
다른 방법으로 정보를 알 수 있거나 테스트할 수 있다면
최대한 의존하지 않는 편이 좋아보인다.
'Programming Language > PHP' 카테고리의 다른 글
[PHP] XAMPP에서 magic_quotes_gpc 설정하기 (1) | 2023.11.20 |
---|---|
[PHP] PHP에서 HTML 출력하기(문자열, 변수, 배열 출력 기본 문법) (0) | 2022.08.01 |
[PHP] 윈도우 환경에 PHP 웹 개발 환경 구축하기 with XAMPP (0) | 2022.07.30 |
- Thanks for comming.
- 오늘은
- 명이 방문했어요
- 어제는
- 명이 방문했어요