본문 바로가기

Development/PHP

[PHP] 모바일 접속 확인 및 IP주소 확인

1. HTTP_USER_AGENT를 이용한 모바일 접속 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<?php
    // 모바일 기기 배열에 저장
    $mAgent = array("Android","iPone","iPad","Blackberry","Opera Mini","Windows ce","SonyEricsson",
"webOS","PalmOS","Nokia","sony");
 
    $isMobile = false;
    
    // 배열에 저장된 값과 접속한 모바일 기기 확인
    for($i=0;$i<sizeof($mAgent);$i++){
        if(stripos($_SERVER['HTTP_USER_AGENT'],$mAgent[$i])){
            $isMobile = true;
            break;
            // 접속기기와 일치하면 true 반환 후 종료
        }
    }
    var_dump($isMobile);
?>
cs



2. 모바일 및 PC 접속 IP 주소 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<?php
    // 웹에 접속한 IP주소 확인
    function getRealIpAddr(){
        if(!empty($_SERVER['HTTP_CLIENT_IP']) && getenv('HTTP_CLIENT_IP')){
            return $_SERVER['HTTP_CLIENT_IP'];
        }else if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && getenv('HTTP_X_FORWARDED_FOR')){
            return $_SERVER['HTTP_X_FORWARDED_FOR'];
        }else if(!empty($_SERVER['REMOTE_HOST']) && getenv('REMOTE_HOST')){
            return $_SERVER['REMOTE_HOST'];
        }else if(!empty($_SERVER['REMOTE_ADDR']) && getenv('REMOTE_ADDR')){
            return $_SERVER['REMOTE_ADDR'];
        }
        return false;
    }
    echo getRealIpAddr();
?>
cs