Get the client IP address in Laravel – Fast tips

Valerio Barbera

In this article, I will share with you how to get the client IP address using the Laravel Request class.

You have three options to invoke the \Illuminate\Http\Request class:

// Using the helper function
echo request()->ip();
// Using the Facade
echo \Request::ip();
// Using the underlying method directly
echo \Request::getClientIp(true);

How to use the IP address to monitor your navigation sessions

The Inspector middleware allows you to exlude traffic from your monitoring data with a simple configuration:

/*
 |---------------------------------------------------------------------
 | Web request url to ignore
 |---------------------------------------------------------------------
 |
 | Add at this list the url schemes that you don't want monitoring
 | in your Inspector dashboard. You can also use wildcard expression (*).
 |
 */
 
'ignore_url' => [
    'telescope*',
    'vendor/telescope*',
    'horizon*',
    'vendor/horizon*',
],

If you need to implement a custom logic, the middleware is also designed to be extended.

<?php
use \Inspector\Laravel\Middleware\WebRequestMonitoring;

class InspectorFilterMonitoringMiddleware extends WebRequestMonitoring
{
    /**
     * Determine if Inspector should record current request.
     *
     * @param \Illuminate\Http\Request $request
     * @return bool
     */
    protected function shouldRecorded($request): bool
    {
        // Monitor requests coming from your IP addresses (e.g. for debugging purpose)
        return in_array($request->ip(), ['xxx.xxx.xxx.xxx']);
    }
}

Overwriting the shouldRecorded() method, you can implement a custom condition to decide which routes should be ignored by Inspector.

Check out the complete tutorial in the official documentation:

https://docs.inspector.dev/guides/laravel/http-requests-monitoring#ignore-http-requests

New to Inspector? Try it for free now

I hope this article can help you make better decisions for the design of your application.

Are you responsible for application development in your company? Consider trying my product Inspector to find out bugs and bottlenecks in your code automatically. Before your customers stumble onto the problem.

Inspector is usable by any IT leader who doesn’t need anything complicated. If you want effective automation, deep insights, and the ability to forward alerts and notifications into your messaging environment try Inspector for free. Register your account.

Or learn more on the website: https://inspector.dev

Related Posts

Laravel Redis Throttle In Details: Tutorial

Redis Throttle is a fantastic feature provided by the Redis facade in the Laravel framework. It’s a convenient way to limit the rate at which certain actions can be performed. How Laravel Redis throttle works The throttle() method allows you to go through the following process:  What is an Atomic Lock in Redis An atomic

The Value Of Data: A Guide To Informed Decision-Making

What is the value of data? That is a huge question. I could go down so many different rabbit holes and make nuanced points about why data’s valuable. At a very high level the value of data is that it lowers your level of uncertainty when it comes time to make a decision or solve

Monitoring Agent: Elevate Your Observability With Inspector

The last fundamental concept to fully evaluate whether, and how, to invest in a monitoring stack is the type of monitoring agent. Very briefly, a monitoring system is always composed of two elements. The agent, which is a software package that you must install in your application or infrastructure. And the dashboard to view the