$_SERVER['REMOTE_ADDR']
$_SERVER['REMOTE_ADDR']의 신뢰성은 웹 개발에 있어서 중요한 변수입니다. HTTP 요청을 시작하는 클라이언트의 IP 주소를 제공합니다. 그러나 이 값은 쉽게 스푸핑될 수 있다는 일반적인 오해가 있어 신뢰성에 대한 우려가 있습니다.
$_SERVER['REMOTE_ADDR']를 신뢰할 수 있습니까?
예, 일반적으로 $_SERVER['REMOTE_ADDR'] 값을 신뢰하는 것이 안전합니다. 이는 클라이언트 TCP 연결의 IP 주소를 나타내며 HTTP 헤더를 변경하여 수정할 수 없습니다. 이는 IP 주소가 TCP/IP 연결의 속성이고 HTTP 헤더의 일부로 전송되지 않기 때문입니다.
잠재적인 함정
그러나 이 규칙의 한 가지 중요한 예외입니다. 서버가 역방향 프록시 뒤에 있는 경우 REMOTE_ADDR은 클라이언트가 아닌 프록시 서버의 IP 주소를 나타냅니다. 이 경우 클라이언트의 IP 주소는 일반적으로 X-Forwarded-For인 HTTP 헤더에 포함됩니다.
예를 들어, 서버가 IP 주소 111.111.111.111을 사용하는 역방향 프록시 뒤에 있는 경우 다음을 요청합니다. 귀하의 서버는 해당 IP 주소에서 시작된 것으로 나타납니다. 이 시나리오에서 클라이언트의 IP 주소를 얻으려면 X-Forwarded-For 헤더를 검사해야 합니다.
그러나 역방향 프록시 없이 클라이언트로부터 HTTP 요청을 직접 수신하는 가장 일반적인 시나리오에서는 신뢰 $_SERVER['REMOTE_ADDR']은 클라이언트의 IP 주소를 확인하는 안정적인 접근 방식입니다.
위 내용은 $_SERVER['REMOTE_ADDR']을 정말로 신뢰할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!