IP 주소: 인터넷 프로토콜 주소(IP 주소)는 인터넷 프로토콜을 사용하여 통신하는 컴퓨터 네트워크에 연결된 모든 장치에 할당된 숫자 레이블입니다. IP 주소에는 호스트 또는 네트워크 인터페이스 식별과 위치 주소 지정이라는 두 가지 주요 기능이 있습니다.
$_SERVER['REMOTE_ADDR']: 현재 페이지를 탐색하는 사용자 컴퓨터의 IP 주소
$_SERVER['HTTP_CLIENT_IP']: 클라이언트의 IP(권장 학습: PHP 프로그래밍 시작부터 숙련도 )
$_SERVER['HTTP_X_FORWARDED_FOR']: 현재 페이지를 탐색하는 사용자 컴퓨터의 게이트웨이
$_SERVER['HTTP_X_REAL_IP']: nginx 프록시 모드에서 클라이언트의 실제 IP를 가져옵니다
/** * 获取客户端IP地址 */ function real_ip() { $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']; } return $ip; }
위 내용은 PHP에서 사용자의 IP 주소를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!