2013-01-14 26 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變量)