$ _SERVER [ 'REMOTE_ADDR']이 (가) 127.0.0.1을 반환합니다.
은 내가 광택 캐시를 설치했기 때문에 데이터가 광택 처리 된 다음 아파치와 서버가 클라이언트가 아닌 광택에서 온 것으로 생각합니까?
$ _SERVER [ 'REMOTE_ADDR']이 (가) 127.0.0.1을 반환합니다.
은 내가 광택 캐시를 설치했기 때문에 데이터가 광택 처리 된 다음 아파치와 서버가 클라이언트가 아닌 광택에서 온 것으로 생각합니까?
얻기과 같은 원격 IP 주소 :
public function getRemoteIPAddress() {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
return $_SERVER['HTTP_CLIENT_IP'];
} else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
return $_SERVER['HTTP_X_FORWARDED_FOR'];
}
return $_SERVER['REMOTE_ADDR'];
}
죄송합니다 downvote,하지만 이것은 나쁜 조언입니다. [@ Ka.의 대답] (http://stackoverflow.com/a/37254156/2032498)을 참조하십시오. 또한 'HTTP_CLIENT_IP'는 클라이언트에서 올 수 있으므로 신뢰할 수 없습니다. 일반적으로,'REMOTE_ADDR'이 신뢰할 수있는 호스트인지 먼저 확인하십시오. 그리고 나서야'X_FORWARDED_FOR'와 같은 추가 HTTP 헤더에 의존 할 수 있습니다. – Kontrollfreak
은 조심, $ _SERVER [ 'HTTP_X_FORWARDED_FOR'] 내가 니스 모르는 How do I get the correct IP from HTTP_X_FORWARDED_FOR if it contains multiple IP Addresses?
를 볼 수 있지만 그 수 있습니다, 다수의 IP를 포함 할 수 경우 ..로드 균형 조정기로 nginx 사용하면이 문제가 .. 그냥 print_r $ _SERVER superglobal .. 다른 필드에서 같은 찾을 수 있습니다 .. X_FORWARDED_FOR – mishu