Метод ip
Метод ip применяется к объекту запроса Request
и возвращает IP-адрес клиента в виде строки.
При определении адреса Laravel учитывает заголовки
прокси-серверов, что позволяет корректно получать
реальный IP-адрес пользователя при использовании
обратных прокси или балансировщиков нагрузки.
Метод возвращает null, если IP-адрес не может
быть определён.
Синтаксис
<?php
$request->ip();
?>
Пример
Давайте получим IP-адрес клиента в контроллере:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class UserController extends Controller
{
public function index(Request $request)
{
$ip = $request->ip();
echo $ip;
}
}
?>
Результат выполнения кода:
"192.168.1.100"
Пример
Давайте используем метод в замыкании маршрута:
<?php
use IlluminateSupportFacadesRoute;
use IlluminateHttpRequest;
Route::get('/user', function (Request $request) {
$res = $request->ip();
echo $res;
});
?>
Результат выполнения кода при обращении к /user:
"10.0.0.5"
Пример
Давайте проверим, определился ли IP-адрес:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class LogController extends Controller
{
public function store(Request $request)
{
$ip = $request->ip();
if ($ip) {
echo "IP address: " . $ip;
} else {
echo "IP address not detected";
}
}
}
?>
Результат выполнения кода:
"IP address: 172.18.0.1"