hyperf2.1框架中获取客户端ip地址的方法
swoole  /  管理员 发布于 1年前   1430
/**
* 获取客户端ip地址
* @return ip
*/
public function ip(){
$res = $this->request->getServerParams();
if(isset($res['http_client_ip'])){
return $res['http_client_ip'];
}elseif(isset($res['http_x_real_ip'])){
return $res['http_x_real_ip'];
}elseif(isset($res['http_x_forwarded_for'])){
//部分CDN会获取多层代理IP,所以转成数组取第一个值
$arr = explode(',',$res['http_x_forwarded_for']);
return $arr[0];
}else{
return $res['remote_addr'];
}
}
//获取真实ip #有时候根据代理环境,上面的函数获取不到就用这个
function reaip(){
$headers = $this->request->getHeaders();
if(isset($headers['x-forwarded-for'][0]) && !empty($headers['x-forwarded-for'][0])) {
return $headers['x-forwarded-for'][0];
} elseif (isset($headers['x-real-ip'][0]) && !empty($headers['x-real-ip'][0])) {
return $headers['x-real-ip'][0];
}
$serverParams = $this->request->getServerParams();
return $serverParams['remote_addr'] ?? '';
}
博主 在
2023年国务院办公厅春节放假通知:1月21日起休7天中评论 @ xiaoB 你只管努力,剩下的叫给天意;天若有情天亦老,..xiaoB 在
2023年国务院办公厅春节放假通知:1月21日起休7天中评论 会不会春节放假后又阳一次?..BUG4 在
你翻墙过吗?国内使用vpn翻墙可能会被网警抓,你需了解的事中评论 不是吧?..博主 在
go语言+beego框架中获取get,post请求的所有参数中评论 @ t1 直接在router.go文件中配就ok..Jade 在
如何在MySQL查询中获得当月记录中评论 Dear zongscan.com team, We can skyroc..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号