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
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?