获取真实IP
parent
2ff139ca1e
commit
e6a582dbcc
|
|
@ -9,9 +9,9 @@ use EasyWeChat\Payment\Application as EasyWeChatPaymentApplication;
|
||||||
use Illuminate\Database\Eloquent\Relations\Relation;
|
use Illuminate\Database\Eloquent\Relations\Relation;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\Resources\Json\JsonResource;
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
use Illuminate\Support\Facades\Schema;
|
|
||||||
use Illuminate\Support\ServiceProvider;
|
use Illuminate\Support\ServiceProvider;
|
||||||
use Overtrue\EasySms\EasySms;
|
use Overtrue\EasySms\EasySms;
|
||||||
|
use Symfony\Component\HttpFoundation\HeaderUtils;
|
||||||
|
|
||||||
class AppServiceProvider extends ServiceProvider
|
class AppServiceProvider extends ServiceProvider
|
||||||
{
|
{
|
||||||
|
|
@ -96,6 +96,16 @@ class AppServiceProvider extends ServiceProvider
|
||||||
protected function registerRequestRealIp()
|
protected function registerRequestRealIp()
|
||||||
{
|
{
|
||||||
Request::macro('realIp', function () {
|
Request::macro('realIp', function () {
|
||||||
|
if ($forwarded = $this->header('X-Forwarded-For')) {
|
||||||
|
$segments = HeaderUtils::split($forwarded, ',');
|
||||||
|
|
||||||
|
foreach ($segments as $segment) {
|
||||||
|
if (filter_var($segment, \FILTER_VALIDATE_IP)) {
|
||||||
|
return $segment;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $this->ip();
|
return $this->ip();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,6 @@ class RouteServiceProvider extends ServiceProvider
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'errcode' => 404,
|
'errcode' => 404,
|
||||||
'message' => 'Not Found',
|
'message' => 'Not Found',
|
||||||
'X-Forwarded-For' => request()->header('X-Forwarded-For'),
|
|
||||||
], 404);
|
], 404);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue