您当前的位置: 首页 >  ar

知其黑、受其白

暂无认证

  • 0浏览

    0关注

    1250博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

laravel获取客户端 IP 地址两种方式

知其黑、受其白 发布时间:2021-02-09 11:48:39 ,浏览量:0

1 laravel自带方法获取客户端ip
dd(request()->ip());
var_dump(request()->getClientIp());

在这里插入图片描述 但是,这是在没有代理的情况下,有时候我们的业务使用了反向代理、负载均衡、cdn加速等等,我们就要设置信任的代理IP。

修改 app\Http\Middleware\TrustProxies.php 中的 $proxies

protected $proxies = [
    '192.168.1.1/24',//你信任的代理IP,支持IP段。
];

如果你不清楚代理服务器IP,或者IP会一直变动。可以设置信任所有代理。(这样是极其不安全的,用户可以伪造X-Forwarded-For来伪造IP)

网段192.168.1.0/24是什么意思?

192.168.1.0/24表示网段是192.168.1.0,子网掩码是24位,子网掩码为:255.255.255.0, 用二进制表示为:11111111 11111111 11111111 00000000 , 这里为什么是24呢,就是因为子网掩码里面的前面连续的“1”的个数为24个,一定要连续的才行。

192.168.1.0/28表示的意思是网段是192.168.1.0,子网掩码为:255.255.255.240, 用二进制表示为:11111111 11111111 11111111 11110000。

这时候你也许就疑惑了,就是24和28两个字不一样,为什么网段是一样的呢?

24位说明网络位是24位,那么主机位就是32-24=8位了,则子网的IP个数是254个,即是从00000001到11111110. 28位说明网络位是28位,那么主机位4位,则子网的IP个数是14个,即是从00000001到00001110.

protected $proxies = '**';
2 自定义函数获取客户端IP
            
关注
打赏
1665558895
查看更多评论
0.0504s