这可能是其中之一“嗯,为什么?” 问题,但我认为这值得一试。
一个服务器端应用程序如何使用客户端 IP 地址作为另一个网站的应用程序 IP 地址?基本思想是,服务器端应用程序所做的任何工作都被视为客户端本身在做工作,而不是服务器的静态 IP。
我不确定更改 HTTP 标头是否有效,但我可能是错的。有这方面的任何文件吗?
谢谢,
凯尔
这可能是其中之一“嗯,为什么?” 问题,但我认为这值得一试。
一个服务器端应用程序如何使用客户端 IP 地址作为另一个网站的应用程序 IP 地址?基本思想是,服务器端应用程序所做的任何工作都被视为客户端本身在做工作,而不是服务器的静态 IP。
我不确定更改 HTTP 标头是否有效,但我可能是错的。有这方面的任何文件吗?
谢谢,
凯尔
完全,完全不可能。您甚至无法打开 TCP 连接,因为其他网站的服务器将尝试与客户端握手并失败。
IP 地址不仅仅是任何旧 ID,它是服务器将发送任何响应的实际地址。欺骗它基本上只有在您可以将您的请求放入单个 IP 数据包(排除 TCP 和 HTTP)并且对响应不感兴趣的情况下才有意义。即使这样,它也可能会失败,因为您的 ISP 的路由器可能具有反欺骗规则,这些规则会丢弃来自“内部”网络的“外部”IP 地址的数据包。
为什么一个合法的应用程序想要欺骗它的 IP 地址?
更改 HTTP 标头可能会减少它,但很可能不会。取决于其他服务器的幼稚程度。
听起来您正在尝试以错误的方式做某事,您能否提供更多关于用例到底是什么的信息?
如果中间不需要处理,您可以在服务器的 IP 防火墙上进行端口转发,以便客户端连接到您的服务器,但最终与另一台服务器通信。
如果您的服务器有更多的参与,那么正确的做法是将客户端的 IP 作为 URL 的一部分(如果它是 Web 应用程序)或数据中的其他位置(如果不是)传递给另一台服务器,以便接收服务器可以知道并正确记录该过程,而无需任何伪造。当然,这也需要更改其他应用程序。
再次假设我们谈论的是 HTTP,我想到的另一个想法是将您的客户端重定向到另一台服务器。只要所有必要的数据都在 URI 中,您就可以建议客户端的浏览器使用您自己创建的 URI 连接到其他服务器,该 URI 可以携带您的服务器处理为请求添加的任何额外价值。
几十年前,互联网的设计师问:“我们怎样才能阻止凯尔·罗森多做这种狡猾的事情?”
如果客户端正在合作,您可以在客户端机器上安装一些软件,然后从那里完成工作。例如,您页面上的签名 Java 小程序。[kidding]如果客户端不配合,安装一些木马病毒[/kidding]