如果我的服務器使用Cloudflare,如何獲得使用代理的訪問者的真實IP?在代理behine Cloudflare後面獲得真實IP?
到目前爲止,這個工程如果遊客打開我的服務器(這是使用CloudFlare的)不使用代理
isset($_SERVER["HTTP_CF_CONNECTING_IP"]) ? $_SERVER["HTTP_CF_CONNECTING_IP"] : $_SERVER["REMOTE_ADDR"];
如果我的服務器使用Cloudflare,如何獲得使用代理的訪問者的真實IP?在代理behine Cloudflare後面獲得真實IP?
到目前爲止,這個工程如果遊客打開我的服務器(這是使用CloudFlare的)不使用代理
isset($_SERVER["HTTP_CF_CONNECTING_IP"]) ? $_SERVER["HTTP_CF_CONNECTING_IP"] : $_SERVER["REMOTE_ADDR"];
你檢查HTTP_X_FORWARDED_FOR?
你可以在這裏看到它的行動:http://canhazip.com/more.php這是通過CloudFlare。如果您想使用代理進行測試,也可以使用該頁面。
p.s.免責聲明:我在CloudFlare工作。
或者你也可以爲Apache安裝mod_cloudflare。
https://www.cloudflare.com/resources-downloads#mod_cloudflare https://github.com/cloudflare/mod_cloudflare
據我所知,你不能。 PHP只能讀取瀏覽器聲稱的IP地址。 – BenM
它不關係你使用的CloudX,如果客戶端的代理不透明,你不能得到他的真實IP地址,否則你可以使用[this](http://stackoverflow.com/questions/6285775/php -get-the-public-ip) –
http://stackoverflow.com/a/40377635/3599237 – Akam