>백엔드 개발 >PHP 튜토리얼 >프록시가 사용 중일 때 실제 방문자 IP 주소를 얻는 방법은 무엇입니까?

프록시가 사용 중일 때 실제 방문자 IP 주소를 얻는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-04 13:39:01848검색

How to Get the Real Visitor IP Address When Proxies Are in Use?

프록시 사용에도 불구하고 실제 방문자 IP 주소 검색

방문자의 IP 주소를 가져오는 데 일반적으로 사용되는 PHP 코드는 다음과 같습니다.

<code class="php"><?php echo $_SERVER['REMOTE_ADDR']; ?></code>

그러나 이 방법은 프록시가 작동 중일 때 실제 IP를 캡처하지 못합니다. 이 문제에 대한 해결책을 찾기 위해 대체 접근 방식을 살펴보겠습니다.

IP 결정을 위한 사용자 정의 PHP 함수

제공된 PHP 코드는 CloudFlare 연결을 고려한 포괄적인 솔루션을 제공합니다. 기타 다양한 요소:

<code class="php">function getUserIP()
{
    // Handle CloudFlare connections
    if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
          $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
          $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
    }
    $client  = @$_SERVER['HTTP_CLIENT_IP'];
    $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    $remote  = $_SERVER['REMOTE_ADDR'];

    if(filter_var($client, FILTER_VALIDATE_IP))
    {
        $ip = $client;
    }
    elseif(filter_var($forward, FILTER_VALIDATE_IP))
    {
        $ip = $forward;
    }
    else
    {
        $ip = $remote;
    }

    return $ip;
}
$user_ip = getUserIP();</code>

이 코드는 $user_ip 변수에 IP 주소를 할당하며, 이 변수는 PHP 스크립트 내에서 필요에 따라 활용될 수 있습니다.

위 내용은 프록시가 사용 중일 때 실제 방문자 IP 주소를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.