你能说网站怎样才能用JavaScript获得真正的IP用户,而人们却使用代理吗?
谢谢
发布于 2015-11-17 08:08:22
客户端Javascript本身无法获取您的IP地址。而且,即使它这样做了,它可能看到的也是内部网络IP地址,而不是公共IP地址。
因此,从普通Javascript获取IP地址的唯一方法是要求服务器告诉您IP地址是什么。您通过一个请求向服务器发出一个Ajax请求,该请求告诉服务器您希望它返回您的IP地址。然后,服务器可以返回看到您的连接来自的IP地址。此地址将是您的外向公有IP地址。由于目前大多数客户端计算机都位于某种路由器/防火墙之后,因此服务器看到的可能是从您的实际客户端计算机NATed过来的单个公共IP地址。
如果在我的客户端计算机和服务器之间的路由中存在代理服务器,则服务器将看到代理服务器的IP地址,而不是客户端计算机的IP地址。而且,你也无法改变这一点。代理和路由器专门设计用于将一组专用IP地址映射到公共IP地址,同时使专用网络的网络拓扑对外部世界完全隐藏。
例如,我的本地计算机现在的实际IP地址是192.168.1.17,这是我的家庭网络上的本地IP地址。但是,当我在互联网上向服务器询问我的IP地址正在使用http://whatismyipaddress.com/之类的服务时,它会报告Comcast分配给我的路由器的实际公共IP地址是67.180.86.xxx。当我从本地计算机连接到internet时,该连接首先连接到路由器,路由器使用NAT (网络地址转换)将此连接映射到我在本地网络上的私有IP地址和来自我的公共IP地址的特定传出TCP连接之间。当数据包在该连接上回流时,路由器会将这些数据包转发到我在家庭网络上的私有IP地址。
发布于 2015-11-18 03:45:41
我知道这是可能的。Tor浏览器,拦截JavaScrip,因为它们可以获取客户端真实的公有IP地址。而且我知道如何JavaScript才能获得真正的公共IP地址,而用户使用代理服务器。
https://stackoverflow.com/questions/33746409
复制相似问题