PHP에서 클라이언트 IP 주소 가져오기
클라이언트 IP 주소를 가져오는 방법을 탐색하기 전에 $_SERVER[ 'REMOTE_ADDR']은 잘못된 결과를 초래할 수 있습니다. 프록시, 방화벽 또는 기타 중개자가 원래 IP 주소를 변경할 수 있습니다.
이 문제를 해결하려면 다음과 같은 대체 접근 방식을 사용하십시오.
GETENV() 사용
getenv() 함수를 사용하면 환경 변수에 액세스할 수 있습니다. 다음 함수에서는 이를 사용합니다.
// Function to get client IP address function get_client_ip() { $ipaddress = ''; if (getenv('HTTP_CLIENT_IP')) $ipaddress = getenv('HTTP_CLIENT_IP'); else if (getenv('HTTP_X_FORWARDED_FOR')) $ipaddress = getenv('HTTP_X_FORWARDED_FOR'); //... (Other conditions omitted for brevity) else $ipaddress = 'UNKNOWN'; return $ipaddress; }
$_SERVER 사용
PHP는 서버 변수에 액세스하기 위한 $_SERVER 슈퍼전역도 제공합니다. 다음은 이를 사용한 유사한 구현입니다.
// Function to get client IP address function get_client_ip() { $ipaddress = ''; if (isset($_SERVER['HTTP_CLIENT_IP'])) $ipaddress = $_SERVER['HTTP_CLIENT_IP']; else if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR']; //... (Other conditions omitted for brevity) else $ipaddress = 'UNKNOWN'; return $ipaddress; }
이 두 함수 모두 사용 가능한 가장 정확한 IP 주소를 얻기 위해 여러 서버 변수를 고려합니다. 더 높은 안정성을 제공하는 HTTP_CLIENT_IP 및 HTTP_X_FORWARDED_FOR와 같은 변수에 우선순위를 둡니다.
위 내용은 PHP에서 클라이언트의 IP 주소를 안정적으로 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!