📅  最后修改于: 2023-12-03 15:07:42.544000             🧑  作者: Mango
在 Laravel 中获取客户端 IP 是一个常见的需求,本文将介绍如何在 Laravel 中获取 IP 地址。
Laravel 提供了 Request
类,可以从中获取客户端的 IP 地址。只需要调用 ip()
方法即可获取:
public function index(Request $request)
{
$ip = $request->ip();
// do something with $ip
}
如果应用程序在反向代理或负载均衡器后面运行,则客户端 IP 地址可能是代理 IP 地址。在这种情况下,需要获取第一个非代理 IP 地址。Laravel 提供了 getClientIp
方法来处理这个问题:
public function index(Request $request)
{
$ip = $request->getClientIp(true);
// do something with $ip
}
如果第一个参数为 true
,则请求头中的代理地址将被跳过,返回第一个非代理 IP 地址。如果第一个参数为 false
,则将返回请求中的第一个 IP 地址。
获取客户端 IP 地址是非常简单的,使用 ip()
或 getClientIp()
方法即可。如果应用程序在反向代理或负载均衡器后面运行,则应使用 getClientIp(true)
方法来获取第一个非代理 IP 地址。