>백엔드 개발 >PHP 튜토리얼 >$_SERVER['REMOTE_ADDR']은 클라이언트 IP에 대한 신뢰할 수 있는 소스입니까?

$_SERVER['REMOTE_ADDR']은 클라이언트 IP에 대한 신뢰할 수 있는 소스입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-17 22:04:02183검색

Is $_SERVER['REMOTE_ADDR'] a Reliable Source for Client IP?

$_SERVER['REMOTE_ADDR']에 의존할 수 있습니까?

웹 개발에서는 $_SERVER['REMOTE_ADDR']가 IP를 보유하고 있습니다. 요청하는 클라이언트의 주소. 그러나 신뢰성에 대한 우려가 있습니다.

신뢰할 수 있습니까?

예, $_SERVER['REMOTE_ADDR']를 신뢰하는 것은 일반적으로 안전한 것으로 간주됩니다. 이는 TCP 연결의 소스 IP 주소를 나타내며 HTTP 헤더를 변경하여 조작할 수 없습니다.

역방향 프록시에 대한 참고 사항

드문 경우에 역방향 프록시의 경우 REMOTE_ADDR은 사용자의 IP가 아닌 프록시 서버의 IP를 반영합니다. 이 시나리오에서는 HTTP 헤더(예: X-Forwarded-For)를 통해 사용자의 IP를 사용할 수 있습니다.

사용 예

다음 코드를 고려하세요.

if ($_SERVER['REMOTE_ADDR'] == '222.222.222.222') { // my ip address
    $grant_all_admin_rights = true;
}

이 코드는 특정 IP 주소를 기반으로 관리자 권한을 부여합니다. 단순화된 예이지만 액세스 제어를 위해 $_SERVER['REMOTE_ADDR']을 사용하는 것이 일반적으로 허용됩니다.

위 내용은 $_SERVER['REMOTE_ADDR']은 클라이언트 IP에 대한 신뢰할 수 있는 소스입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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