我想在php中发送任何http请求时隐藏我的真实IP。我该怎么办,有可能吗?如果没有,有没有办法做到PHP除外?
答案 0 :(得分:1)
当服务器收到请求时,它需要能够将回复发送回客户端。它知道将回复发送回去的位置,因为它知道客户端的IP地址。您无法使用欺骗性IP地址建立HTTP(或更常见的TCP)会话。
在IP级别,您可以发送带有欺骗性源地址的IP数据包。但是,连接到Web服务器并没有多大帮助。如果数据包不是发送到服务器端口80的TCP数据包,它甚至可能无法到达服务器,它很可能被服务器和Internet之间的防火墙阻止。
只要您想建立TCP连接,连接就会从客户端发送数据包以建立连接开始,服务器会回复。在客户端从服务器获得回复之前,连接未建立,如果客户端试图伪造后续数据包,则可能会被服务器端防火墙阻止。使用PHP curl库,您无论如何都只能构建格式良好的TCP连接。
由于服务器需要知道请求来自哪个IP地址才能发回回复,因此伪造IP地址的唯一方法是使这些请求来自不同的计算机。也就是说,如果您希望IP地址看起来是$ ip1,则需要使用地址为$ ip1的机器来转发您的请求。换句话说,您需要$ ip1作为代理。