laravel-firewall icon indicating copy to clipboard operation
laravel-firewall copied to clipboard

same ip for all requests

Open mnfi3 opened this issue 1 year ago • 1 comments

In some networks the logged ips are same for all users and this cause block all requests for all users.please use below code for getting user ip in your Traits/Helper.php file.

public function ip()
    {
       $client = @$_SERVER['HTTP_CLIENT_IP'];
        $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
        $remote = @$_SERVER['REMOTE_ADDR'];
        if (filter_var($client, FILTER_VALIDATE_IP)) {
            $ip = $client;
        } elseif (filter_var($forward, FILTER_VALIDATE_IP)) {
            $ip = $forward;
        } else {
            $ip = $remote;
        }
        return $ip ?: '0.0.0.0';
    }
    

mnfi3 avatar Jan 17 '24 08:01 mnfi3

+1

I've noticed on some projects, including those that use Cloudflare, that we get the edge IP, not the user IP, and this has caused blocks to other users.

MCKLtech avatar Jan 24 '24 17:01 MCKLtech