2012-03-11 136 views
0

如何更改IP地址,使其在使用$ _SERVER ['REMOTE_ADDR']时不会显示我们的原始地址;在php如何将我的IP地址更改为给定地址并访问网站

+0

属于超级用户,如果你只是在说隐藏你自己的IP地址。但是,FWIW使用Tor。 – 2012-03-11 10:37:07

+1

请解释你的问题的背景;为什么你需要它,它与开发/调试你的代码有什么关系? – 2012-03-11 10:38:15

回答

1

如果您尝试从不同于您自己的IP访问网站,则需要使用代理服务器。 Wikipedia有更多信息。

1

我为此想到了几个选项。我会从简单到复杂。

  • 首先,你可以使用一个代理服务器,并要求他通过你的程序或浏览器所做的HTTP请求,为您获取的资源。代理服务器将扮演在您的位置向目标服务查询资源的角色。

    例子:

    要检索域stackoverflow.com的主页。您可以让代理服务器请求stackoverflow的HTTP服务器向他发送主页面,并将其转发给您。

    对于SO web服务器,超全球$_SERVER['REMOTE_ADDR']变量将对应于代理服务器的IP地址,而不是您的IP地址。但是,HTTP协议实现了一些字段,例如HTTP_VIA,HTTP_X_FORWARDED_FORHTTP_FORWARDED,可用于了解当前HTTP请求是否由代理服务器生成。

    一个透明代理将不指定这些字段,并不会改变你的要求而非透明代理可以揭示原始请求的原始IP地址。你必须使用一个可靠的代理,它将按照你的意愿采取行动。需要考虑的另一件事是在您和代理之间使用SSL tunnel以避免窃听。

  • 第二种解决方案是使用VPN(虚拟专用网络)服务器。这完全解释了它的工作方式太复杂了,但记住这一点,当你使用VPN服务连接到计算机时(例如l2tpd,pptpd ...)就好像你在同一个LAN上一样电脑。所以你可以透明地向Web服务器发出请求,他永远不会知道你的真实IP地址是什么。

  • 第三种解决方案可能是使用基于链接节点的网络,如TOR。这是一个可以连接到的免费网络,对普通人而言,您将完全匿名。 TOR网络的力量是提供许多节点的网络,每个节点都不知道其他节点的任何信息,因此即使连接到TOR网络的人也不知道任何关于你的事情。如果您有兴趣,我建议您阅读更多。

还有更复杂的其他解决方案,比如TCP会话劫持通常使用伪造的IP地址,并从字面上偷另一台计算机的TCP连接,但这是出于这个答案的范围。