2

http://ipfuck.paulds.fr/

我们最近受到这个 Firefox 插件的打击。它在标头中发送一个假 IP,因此当我们的 nginx Web 服务器获取 IP 时,它是一个假 IP。

有没有办法获取真实的 IP 地址或阻止安装了此插件的请求?

4

1 回答 1

3

在任何 HTTP 标头中实际上都没有客户端 IP 条目。只有一些非官方的代理头被添加到请求中,以便代理服务器可以告诉您连接客户端的真实 IP(因为 tcp 套接字只会显示代理服务器的 IP 地址)。

您链接到的插件添加这些代理标头,通过向请求添加X-Real-IP: 1.2.3.4X-Forwarded-For: 1.2.3.4标头来“伪造”代理请求。但是没有人强迫你使用那个 IP 地址(可能是假的,就像1.2.3.4这里的例子),你总是可以使用发起连接的套接字的 IP 地址——如果他使用提到的,这将是客户端的真实 IP 地址插入。

locationnginx 配置部分中,您可以通过$remote_addr变量获取套接字 IP 地址。要检索“假”IP 地址,您可以使用$http_x_forwarded_for$http_x_real_ip变量。

如果您使用任何应用程序/cgi 后端,您通常可以检查完整的标头和套接字 IP 地址(即在 PHP 中您应该检查$_REQUEST$_HEADERS变量)

于 2013-01-19T13:14:56.393 回答