⚠ 이 글은 2년 이상 지난 이야기에요. 읽으실때 참고!
개발
PHP 개발 일지
PHP 공인 IP 주소 얻어오기
628 views as of March 5, 2019.
PHP 상에서 IP 주소를 얻어오는 방법은 생각보다 참으로 많습니다.
쉽게 접근할 수 있는것이 $_SERVER['REMOTE_ADDR'] 이긴 합니다만...
이 방법으로하면 클라이언트 쪽에서 데이터를 숨길수도 있고 또 사설 아이피망에서 접속하면 가끔 그 사설 IP가 반환됩니다. (무엇)
뭐 사용자의 IP를 추적해서 뭘 하겠다는것은 아닌데 내 웹서버가 어디에서 접속이 많이 되는지 분석하고 서비스 대응을 하는 관점에선 클라이언트의 IP정보도 무시못하는 정보 중 하나이긴하죠.
사실 이런 대부분의 기능은 직접 구현하기보다는 애널리틱스를 통해 이용하는것이 훨씬 마케팅이나 관리측면에서 유의미한 정보를 얻을 수 있긴합니다.
그래서 백엔드단에서 IP 정보가 필요한 경우는 관리목적보다 기능적 목적이 많긴하죠.
각설하고 스택오버플로우에도 최다 추천 답변으로 등록된 아래와 같은 방법으로 클라이언트의 공인 IP를 그나마 쉽게 가져올 수 있습니다.
<?php
/**
* 접속자의 아이피 주소를 알아내어 반환합니다.
* 공인 IP주소가 나옵니다.
* @return array|false|string
*/
function get_client_ip() {
if (getenv('HTTP_CLIENT_IP'))
$ipaddress = getenv('HTTP_CLIENT_IP');
else if(getenv('HTTP_X_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_X_FORWARDED_FOR');
else if(getenv('HTTP_X_FORWARDED'))
$ipaddress = getenv('HTTP_X_FORWARDED');
else if(getenv('HTTP_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_FORWARDED_FOR');
else if(getenv('HTTP_FORWARDED'))
$ipaddress = getenv('HTTP_FORWARDED');
else if(getenv('REMOTE_ADDR'))
$ipaddress = getenv('REMOTE_ADDR');
else
$ipaddress = 'UNKNOWN';
return $ipaddress;
}
Copy
#개발 #PHP #공인 IP
0
개의 댓글
Collection. PHP 개발 일지
01.
PHP 개행문자(엔터)나 특정 태그를 제거하는 방법
2018
02.
PHP 배열, 다중배열속의 값 검사
2019
03.
PHP 시간 차 계산
2019
04.
PHP 공인 IP 주소 얻어오기
2019
05.
PHP 문자열 중 url만 걸러내서 태그를 씌워 반환
2019
06.
PHP 파일 열고 처음부터 다시 쓰기
2019
07.
PHP 세션 유지시간 변경
2019
08.
PHP 이미지 용량 리사이징
2019
09.
PHP 사이트맵 제작 (1)
2024
10.
PHP 사이트맵 제작 (2)
2024