1. 程式人生 > >laravel 獲取真實的客戶端IP

laravel 獲取真實的客戶端IP

現在一般專案的web伺服器前面還有代理伺服器,獲取訪客ip不能直接用$_SERVER['REMOTE_ADDR'],而是類似$_SERVER['HTTP_X_FORWARDED_FOR'],我看了一下laravel也能獲取到。具體辦法是

$request->setTrustedProxies(array('10.32.0.1/16'));
$ip = $request->getClientIp();
含義是如果$_SERVER['REMOTE_ADDR']是區域網ip,而且又獲取到$_SERVER['HTTP_X_FORWARDED_FOR'],則取$_SERVER['HTTP_X_FORWARDED_FOR'],當然也有判斷有沒有$_SERVER['FORWARDED']。

只是沒有地方可以全域性setTrustedProxies

轉載:https://laravel-china.org/topics/2570