获取用户真实的IP
2024-09-21 16:44:59
在实际项目很使用的函数,果断收集了
function get_client_ip() {
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"),
"unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
$ip = getenv("REMOTE_ADDR");
else if (isset ($_SERVER['REMOTE_ADDR']) &&
$_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = "unknown";
return ($ip);
}
echo get_client_ip();
最新文章
- Js 数组返回去重后的数据
- There was an internal API error.的解决办法
- zstu.2512. Moving Tables(贪心)
- mysql cluster 运行的必备条件
- C#: 获取执行程序所在路径和启动资源管理器
- 解析xml,几种方式
- 学会WCF之试错法——安全配置报错分析
- Spring,@Controller,@RequestMapping, @ResponseBody,@RequestParam
- IP地址分类(A类 B类 C类 D类 E类)
- MyEclipse 安装插件 Github安装/使用 教程
- JQuery : 插件定义
- operator的itemgetter和attrgetter
- Burp Suite之Intruder模块(四)
- Vue图片懒加载插件 - vue lazyload的简单使用
- c++性能之map实现性能比较
- ElasticSearch 系列随笔
- Friendly Date Ranges
- Jenkins有用的插件
- 通过自动回复机器人学Mybatis:代码重构(分层)
- 【抽时间 试验】hibernate集合映射inverse和cascade详解