본문 바로가기
PHP/Python/Ruby

사용자 ip가 ipv4 인지, ipv6 인지 체크하는 함수

본문

<?php
 function getRealIpAddr(){   
    if(!empty($_SERVER['HTTP_CLIENT_IP']) && getenv('HTTP_CLIENT_IP')){   
        return $_SERVER['HTTP_CLIENT_IP'];   
    }   
    elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && getenv('HTTP_X_FORWARDED_FOR')){   
        return $_SERVER['HTTP_X_FORWARDED_FOR'];   
    }   
    elseif(!empty($_SERVER['REMOTE_HOST']) && getenv('REMOTE_HOST')){   
        return $_SERVER['REMOTE_HOST'];   
    }   
    elseif(!empty($_SERVER['REMOTE_ADDR']) && getenv('REMOTE_ADDR')){   
        return $_SERVER['REMOTE_ADDR'];   
    }   
    return false;   
 }

 // ipv6 체크 함수
 function is_ipv6() {
    $ip = getRealIpAddr();
    if (!preg_match("/^([0-9a-f\.\/:]+)$/",strtolower($ip))) {
        return false;
    }

    if (substr_count($ip,":") < 2) {
        return false;
    }

    $part = preg_split("/[:\/]/", $ip);
    foreach ($part as $i) {
        if (strlen($i) > 4) {
            return false;
        }
    }

    return true;
 }

 if(is_ipv6() === true){
    echo "ipv6 입니다.";
 } else {
    echo "ipv4 입니다.";
 }
 ?>
  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

페이지 정보

최고관리자 작성일13-10-25 10:39 조회912회 댓글0건

Warning: include_once(G5_CAPTCHA_PATH/captcha.lib.php) [function.include-once]: failed to open stream: No such file or directory in /home/hosting_users/winmate/www/bbs/view_comment.php on line 3

Warning: include_once() [function.include]: Failed opening 'G5_CAPTCHA_PATH/captcha.lib.php' for inclusion (include_path='/home/hosting_users/winmate/www/plugin/htmlpurifier/standalone:.:/usr/local/php/lib/php') in /home/hosting_users/winmate/www/bbs/view_comment.php on line 3

댓글목록

등록된 댓글이 없습니다.

PHP/Python/Ruby 목록

게시물 검색

사이트 정보

  • 회사명 주인있소 / 대표 소담
  • 주소 강원도 속초시
  • 사업자 등록번호 123-45-67890
  • 전화 010-2026-0626 / 팩스 없음
  • 통신판매업신고번호 제 OO구 - 123호
  • 개인정보관리책임자 정보책임자명

고객센터

상단으로