[server] Google의 IP 주소를 가진 사용자 그게 어떻게 가능해?

스페인어 웹 사이트가 있으며 유럽 이외의 국가의 사람들이 등록하고 로그인 할 수 없습니다.

얼마 전에 로그인 할 수없는 사용자로부터 메시지를 받기 시작했습니다. IP 주소를 요청할 때 66.249.93.202와 같이 말합니다. Google의 IP 주소입니다. 휴대폰에서 어떻게 구할 수 있습니까? 실제 IP 주소를 사용하려면 어떻게해야합니까?



답변

당신이보고있는 것은 구글 프록시 주소입니다.
대역폭 관리 기능이 설정된 Chrome 브라우저 (Android 또는 iOS)를 사용하는 모바일 사용자 는 여기에 설명 된대로 이러한 주소 중 하나를 요청자로 사용하는 것으로 간주됩니다 .

본질적으로 귀하가 제공하는 데이터는 Google 데이터 압축 프록시에 의해 요청되어 optimized최종 사용자에게 다시 전송됩니다.

실제 IP 주소를 사용하기 위해해야 ​​할 일.

그들은 다르게 행동해서는 안됩니다. 이전에 링크 된 설명서에 설명 대로 헤더를
확인할 수 있습니다 .x-forwarded-for


답변

아마도 Google 데이터 압축 프록시 ( https://developer.chrome.com/multidevice/data-compression )를 사용하고있을 것입니다.

그리고 같은 페이지에서 질문에 대답하려면 :

사이트 소유자는 IP 지역 타겟팅을 어떻게 수행합니까?
모바일 장치의 IP 주소는 X-Forwarded-For 헤더를 통해 대상 서버로 전달됩니다. 사이트 소유자는이 헤더를 확인하여 클라이언트의 IP 주소를 기반으로 사용자의 위치를 ​​올바르게 결정해야합니다.


답변

단순히 HTTPS를 통해 사이트를 제공하는 경우 사용자의 IP 주소를 직접 얻을 수 있습니다 .

어쨌든이 작업을 수행해야 할 것입니다. 특히 로그인 및 등록 페이지라고 언급했기 때문에.

다른 답변에서 언급 한 데이터 압축 프록시 페이지에서 인용 :

압축 프록시로 보안 트래픽을 최적화합니까?

데이터 압축 프록시는 암호화되지 않은 트래픽에서 작동합니다. HTTPS 요청은 모바일 장치에서 대상 서버로 직접 전송됩니다.


답변

이 사용자는 데이터 압축 프록시 ( https://developer.chrome.com/multidevice/data-compression ) 와 함께 Chrome (모바일)을 사용할 수 있습니다

X-Forwarded-ForHTTP 헤더를 사용 하여 원래 사용자 IP를 기반으로 사용자를 지리적 위치에 둘 수 있습니다 (FAQ 참조)


답변

나는 같은 문제가 있습니다. 그러나 X-Forwarded-For
데이터 세이버가 활성화되어 있지만 실제 IP를 얻지 못했지만 헤더 정보에 X-Forwarded-For 인덱스가 설정되어 있지 않습니다. 또한 HTTP_X_REAL_IP 색인을 확인했습니다. Google IP 주소로도 설정됩니다.

마지막으로 인덱스 HTTP_FORWARDED값 에서 올바른 IP를 찾았습니다.for=203.192.231.124

echo $_SERVER['HTTP_FORWARDED']

따라서 for=가치에서 텍스트 를 제거 하면 IP를 얻을 수 있습니다.

$ip = str_replace('for=','', $_SERVER['HTTP_FORWARDED']);


답변