PHP에서 접속아이피 추출하기 > 그누보드5 스킨

그누보드5 스킨

좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.

PHP에서 접속아이피 추출하기 정보

접속자 PHP에서 접속아이피 추출하기

첨부파일

PhpClient.php (3.1K) 7회 다운로드 2023-05-24 16:38:14 포인트 차감1
테스트한 버전5.5.8.3
호환 가능 버전5.3

본문

안녕하세요.

그누보드 Q&A에 PHP에서 접속아이피를 검출하는 방법에 대해 논의가 있었기에 설명해드리는것이 좋겠다고 생각되어 샘플함수를 아래에 적었습니다.

 

function getClientIp()
{
    $ip = $_SERVER['REMOTE_ADDR'];
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {
        foreach ($matches[0] AS $xip) {
            if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) {
                $ip = $xip;
                break;
            }
        }
    } elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (isset($_SERVER['HTTP_CF_CONNECTING_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CF_CONNECTING_IP'])) {
        $ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
    } elseif (isset($_SERVER['HTTP_X_REAL_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_REAL_IP'])) {
        $ip = $_SERVER['HTTP_X_REAL_IP'];
    }
    if ($ip == '::1') $ip = 'localhost';
    return $ip;
}
추천
5
  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로