我有这个问题。 我让广告商向我发送回发(使用某些参数对我的服务器进行 url GET 调用),例如 http://www.example.org/pb/advertier/?param1=xxxxparam2=yyyy 问题是广告商授予安全性的唯一方式(所以我知道回发确实来自他们)是基于 IP 的,所以我知道他们服务器的 IP 地址,仅此而已,如果传入的回发来自这些 IP 之一,则它是真实的。 问题是,我认为有黑客知道如何伪造原始 IP 地址,只需使用伪造的原始 IP 向我的服务器发送请求,我的应用程序就会将该请求视为有效。
我认为的一个解决方案是,在 tcp 堆栈级别或类似的(我不是这方面的专家),至少有 2 个数据包需要来自黑客计算机,因此需要发生 TCP/IP 对话,就像黑客向我发送一些数据,然后我的服务器回复,然后黑客计算机需要发送更多数据(数据包)才能完成 GET 请求,这会很酷。这样,黑客将无法发送他的请求,因为来 self 的服务器的回复将发送到其他地方(发送到伪造的原始 IP)。
我希望这个想法很清楚,非常感谢任何帮助,
谢谢。
最佳答案
由于您暗示这是一个通过 TCP 执行的 HTTP 请求,因此您描述的问题并不真正存在。建立TCP连接已经涉及3个数据包,如果有人伪造源地址,握手将无法完成。
关于linux - 当远程计算机从我的 Linux 服务器请求 URL 时,是否可以强制至少 2 个 IP 数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24079218/