具有Google IP地址的用户。这怎么可能?


38

我有一个西班牙网站,并且不允许非欧洲国家的人注册和登录。

不久前,我开始收到无法登录用户的消息。当我询问他们的IP地址时,他们会说:66.249.93.202。这是Google的IP地址。他们如何在手机中获得它?他们必须使用真实IP地址做什么?


12
随着IPv6的流行以及人们使用IPv6-to-4代理,这可能变得更加普遍。如果要进行地理定位,请确实支持IPv6,并且不要对手机的国籍做太多假设。
MSalters 2015年

39
要添加到MSalters的评论中,完全不要依赖IP。无论如何,恶意用户都会解决它(VPN,开放代理等),而您最终只会惹恼合法用户。

14
当您来自巴塞罗那的一位用户前往特拉维夫时会发生什么?她出差时是否无法登录自己的帐户?
dotancohen

1
如果你想避免谷歌的IP地址只是通过HTTPS服务你的客户,这将绕过数据压缩代理
里卡多

Answers:


59

您看到的是Google代理地址。
启用了带宽管理功能且使用Chrome浏览器(Android或iOS)的移动用户通常会被视为使用这些地址之一作为请求者,如此处所述

实质上,您正在提供的数据是由Google数据压缩代理请求的,optimized并发送回最终用户。

他们必须使用真实IP地址才能做的事情。

他们不应做任何不同的事情。
您可以按照前面链接的文档中的x-forwarded-for说明检查标题


令我惊讶的是,谷歌提供了一项不利于加密的功能。
user253751

@immibis就是那样,或者是拉诺基亚。您无法优化无法解密的内容,也无法游说仅使用https的互联网,并出于自己的利益对其进行解密。
收起

4
请注意,XFF标头很容易被欺骗,因此Wikimedia提供了一种解决方案来检查它是否是“受信任的” XFF标头:meta.wikimedia.org/wiki/XFF_project
Sanya_Zol 2015年

25

可能他们正在使用Google数据压缩代理(https://developer.chrome.com/multidevice/data-compression)。

并回答您的问题(在同一页面上):

作为网站所有者,如何执行IP地理位置定位?
移动设备的IP地址通过X-Forwarded-For标头转发到目标服务器。网站所有者应检查此标头,以根据客户端的IP地址正确确定用户的位置。


3
似乎我们几乎同时发布了:D
Reaces 2015年

3
@Reaces你14秒快速:d
摊贩

1
X-Forwarded-For的问题在于,您首先需要对照受信任的代理列表检查实际IP,然后才能信任标头。否则,用户可以自己发送标头并选择他们喜欢的任何IP。
CodesInChaos

23

如果您只是通过HTTPS服务站点,则可以直接获取用户的IP地址。

无论如何,您可能都应该这样做 -特别是因为您提到了这些是登录和注册页面。

引用其他答案中提到的“数据压缩代理”页面:

压缩代理是否优化了我的安全流量?

否,数据压缩代理对非加密流量起作用:HTTPS请求直接从移动设备发送到目标服务器。



1

我有同样的问题。但是我没有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']);

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.