如何更改IP地址,以便在使用$ _SERVER时不会显示我们的原始地址[' REMOTE_ADDR'];在PHP
答案 0 :(得分:1)
如果您尝试使用与您自己的IP不同的IP访问网站,则需要使用代理服务器。 Wikipedia有更多信息。
答案 1 :(得分:1)
我有几种选择。我会从简单到复杂的。
首先,您可以使用代理服务器并通过程序或浏览器发出的 HTTP请求向他询问,为您获取资源。代理服务器将负责查询您所在位置的资源到目标服务。
示例:
您想要检索域stackoverflow.com
的主页面。您要求代理服务器请求stackoverflow的HTTP服务器向他发送主页,然后他会将其转发给您。
对于SO网络服务器,超级全局$_SERVER['REMOTE_ADDR']
变量将对应于代理服务器的IP地址而不是您的IP地址。但是,HTTP协议实现了一些字段,例如HTTP_VIA
,HTTP_X_FORWARDED_FOR
或HTTP_FORWARDED
,可用于了解当前的HTTP请求是否由代理发出。
透明代理不会指定这些字段,也不会修改您的请求,而非透明代理可能会显示原始请求者的原始IP地址。您必须使用可靠的代理,该代理将按您的意图行事。另一件需要考虑的事情是在您和代理之间使用SSL tunnel
以避免窃听。
第二种解决方案是使用VPN(虚拟专用网络)服务器。完全解释这是如何工作会太复杂,但请记住,当您使用VPN服务连接到计算机时(例如 l2tpd , pptpd ...)就像你和这台电脑在同一个局域网上一样。因此,您可以透明地向网络服务器发出请求,而且他永远不会知道您的真实IP地址是什么。
第三种解决方案可能是使用基于链接节点的网络,例如TOR
。这是一个可以连接的免费网络,对于普通人来说,你将完全匿名。 TOR网络功能是提供许多节点的网络,每个节点对其他节点一无所知,因此即使连接到TOR网络的人也无法了解您的任何信息。如果您有兴趣,我建议您阅读更多相关信息。
还有更复杂的其他解决方案,例如TCP会话劫持,通常用于伪造IP地址并从字面上窃取另一台计算机的 TCP连接,但这超出了本答案的范围。