2013-01-14 25 views

回答

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地址上述插件。

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

如果您正在使用的任何应用程序/ CGI后端,你通常可以检查完整的报头和插座的IP地址(即在PHP中,你应该检查$_REQUEST$_HEADERS变量)