PHP에서 IP 가져오기 IPv4
안녕하세요.
고코더 입니다.
보통은 PHP에서 사용자의 IP를 가져올때
$_SERVER 함수를 이용해 가져오는걸 많이
배웠는데 막상 웹사이트가 작동하는
서버에서는 192로 시작하는 제대로된 아이피를 가져오지 못하는걸 확인하실 수 있습니다.
PHP 사용자 IP를 검색해도 보통 서버 함수를 이용한
방법이 대다수 인거 같네요
$_SERVER['REMOTE_ADDR'];
그래서 오늘은 실제로 가장 많이 사용하는
방식인 사용자의 아이피를 가져오는 함수를 이용해보겠습니다.
▼ 우선 아래 소스를 웹에서 확인해보세요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php function get_client_ip() { $ipaddress = ''; 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; } echo "SERVER 함수 사용자 아이피 : ".$_SERVER['REMOTE_ADDR']; echo "<br>"; echo "getenv 사용자 아이피 : ".get_client_ip(); ?> | cs |
▼ 이걸 웹사이트상에서 확인하면
결과값은 이렇습니다.
▼ 아이피를 가져오는 함수입니다.
이 함수를 이용해서 사용자의 정보를 가져와보세요.
실무에서 가장 많이 사용하는 정석적인 함수 입니다.
function get_client_ip() {
$ipaddress = '';
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;
}
IP 관련 컨텐츠들
사이트 - 내 IP 알아보기 / whatismyip.com
사이트 - 인터넷에서 내 윈도우,OS 버전 알아보기 / whatsmyos.com
마무리
서버 환경과 설정에 따라
IP를 가져오는 방법이 다릅니다.
'IT_Developers > PHP' 카테고리의 다른 글
PHP - 기본 php.ini 파일 버전별 다운로드 / 첨부파일 (0) | 2020.04.03 |
---|---|
PHP - 페이지 리다이렉트 / response.redirect / sendRedirect (0) | 2019.06.24 |
PHP - 캐시로 페이지 파일 생성 / 페이지 굽기 (0) | 2019.04.03 |
PHP - 문자열이 있는지 포함여부 검사 / instr, indexof, strpos() (0) | 2019.04.01 |
PHP - 데이터 숫자로 형변환 / Cint(), parseInt(),Number() (0) | 2019.03.19 |
댓글