纯真ip php,PHP利用纯真数据库获取访客IP物理地址
//===================================
//
// 功能:IP地址获取真实地址函数
// 参数:$ip - IP地址
//
//===================================
function convertip($ip) {
$dat_path = '../QQWry.Dat';
if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/", $ip)) {
return 'IP Address Error';
}
if(!$fd = @fopen($dat_path, 'rb')){
return 'IP date file not exists or access denied';
}
$ip = explode('.', $ip);
$ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3];
$DataBegin = fread($fd, 4);
$DataEnd = fread($fd, 4);
$ipbegin = implode('', unpack('L', $DataBegin));
if($ipbegin
$ipend = implode('', unpack('L', $DataEnd));
if($ipend
$ipAllNum = ($ipend - $ipbegin) / 7 + 1;
$BeginNum = 0;
$EndNum = $ipAllNum;
while($ip1num>$ipNum || $ip2num
$Middle= intval(($EndNum + $BeginNum) / 2);
fseek($fd, $ipbegin + 7 * $Middle);
$ipData1 = fread($fd, 4);
if(strlen($ipData1)
fclose($fd);
return 'System Error';
}
$ip1num = implode('', unpack('L', $ipData1));
if($ip1num
if($ip1num > $ipNum) {
$EndNum = $Middle;
continue;
}
$DataSeek = fread($fd, 3);
if(strlen($DataSeek)
fclose($fd);
return 'System Error';
}
$DataSeek = implode('', unpack('L', $DataSeek.chr(0)));
fseek($fd, $DataSeek);
$ipData2 = fread($fd, 4);
if(strlen($ipData2)
fclose($fd);
return 'System Error';
}
$ip2num = implode('', unpack('L', $ipData2));
if($ip2num
if($ip2num
if($Middle == $BeginNum) {
fclose($fd);
return 'Unknown';
}
$BeginNum = $Middle;
}
}
$ipFlag = fread($fd, 1);
if($ipFlag == chr(1)) {
$ipSeek = fread($fd, 3);
if(strlen($ipSeek)
fclose($fd);
return 'System Error';
}
$ipSeek = implode('', unpack('L', $ipSeek.chr(0)));
fseek($fd, $ipSeek);
$ipFlag = fread($fd, 1);
}
if($ipFlag == chr(2)) {
$AddrSeek = fread($fd, 3);
if(strlen($AddrSeek)
fclose($fd);
return 'System Error';
}
$ipFlag = fread($fd, 1);
if($ipFlag == chr(2)) {
$AddrSeek2 = fread($fd, 3);
if(strlen($AddrSeek2)
fclose($fd);
return 'System Error';
}
$AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
fseek($fd, $AddrSeek2);
} else {
fseek($fd, -1, SEEK_CUR);
}
while(($char = fread($fd, 1)) != chr(0))
$ipAddr2 .= $char;
$AddrSeek = implode('', unpack('L', $AddrSeek.chr(0)));
fseek($fd, $AddrSeek);
while(($char = fread($fd, 1)) != chr(0))
$ipAddr1 .= $char;
} else {
fseek($fd, -1, SEEK_CUR);
while(($char = fread($fd, 1)) != chr(0))
$ipAddr1 .= $char;
$ipFlag = fread($fd, 1);
if($ipFlag == chr(2)) {
$AddrSeek2 = fread($fd, 3);
if(strlen($AddrSeek2)
fclose($fd);
return 'System Error';
}
$AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
fseek($fd, $AddrSeek2);
} else {
fseek($fd, -1, SEEK_CUR);
}
while(($char = fread($fd, 1)) != chr(0)){
$ipAddr2 .= $char;
}
}
fclose($fd);
if(preg_match('/http/i', $ipAddr2)) {
$ipAddr2 = '';
}
$ipaddr = "$ipAddr1 $ipAddr2";
$ipaddr = preg_replace('/CZ88.NET/is', '', $ipaddr);
$ipaddr = preg_replace('/^s*/is', '', $ipaddr);
$ipaddr = preg_replace('/s*$/is', '', $ipaddr);
if(preg_match('/http/i', $ipaddr) || $ipaddr == '') {
$ipaddr = 'Unknown';
}
return $ipaddr;
}
?>
纯真ip php,PHP利用纯真数据库获取访客IP物理地址相关推荐
- php获取访客精确ip,PHP获取访客IP、地区位置等技巧分享
本文主要和大家介绍了利用PHP获取访客IP.地区位置.浏览器及来源页面等信息的相关资料,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考借鉴价值,需要的朋友们下面来一起看看吧. 示例代码& ...
- php如何获取访问者地理位置,PHP获取访客IP和地理位置等信息的类
这是一个能够获取到用户访问信息的PHP类,包括:ip地址.地理信息.操作系统.语言.浏览器和isp等等.获取地理位置和ISP信息是请求的Baidu隐藏接口. 代码如下: 1.[代码][PHP]代码 / ...
- PHP获取访客ip、系统、浏览器等信息[转]
1.获取访客操作系统信息 <?php function GetOs() { if (!empty($_SERVER['HTTP_USER_AGENT'])) { $OS = $_SERVER[' ...
- html页面跳转IP,JS获取访客IP进行自动跳转
因业务需要进行地区判断跳转指定站点,下面是我个人实现的办法,分享给大家,仅供参考,切勿做非法用途 第一步,获取IP并判断归属地 直接使用搜狐的IP库查询接口 返回的地址是: var returnCit ...
- vue中使用接口(搜狐接口)获取访客IP地址
花了1天时间踩坑,终于探索出来了最方便的解决方式.. 网上大部分大厂的获取ip的方式都已不可用,只有搜狐接口还有一些小网站搞出来的接口能用.这里我使用的是搜狐获取IP的接口. 搜狐接口返回的是一个js ...
- html获取访客ip,jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
本文实例讲述了jQuery获取访问者IP地址的方法.分享给大家供大家参考,具体如下: $(document).ready(function(){ //通过调用新浪IP地址库接口查询用户当前所在国家.省 ...
- Java获取访客IP地址
原文地址:https://dsx2016.com/?p=226 ➢ 获取IP地址 在开发工作中,我们常常需要获取客户端的IP ➢ nginx配置 为了拿到真实的IP地址,避免代理等错误源,需要在ngi ...
- php REMOTEADDR之获取访客IP的代码
$_SERVER 是一个包含了诸如头信息(header).路径(path).以及脚本位置(script locations)等等信息的数组.这个数组中的项目由 Web 服务器创建.不能保证每个服务器都 ...
- Wordpress用文件记录访客 IP和访问量
1.记录访问量,显示访客IP [php原码] <?php/*打开文件用于记录访问量,如果文件不存在自动创建*/ $counterFile = "counter.txt";$f ...
最新文章
- Plant Com:中科院遗传发育所白洋组开发定量检测宿主微生物组的HA-QAP技术(王二涛点评)...
- 前端小纠结--集成gitflow和standard-version使用
- python一行输入多个值用空格隔开_2020-09-22-Python-函数嵌套、filter()函数、一行输入多个整数(空格分隔)、多维列表的输入...
- @ConfigurationProperties与@Value注解
- MySQL高级 orderby 优化
- [Java基础]反射练习之越过泛型检查,运行配置文件制定内容
- stm32定时2通道3映射_stm32学习笔记之问题总结
- Iplat62---CRUD
- C# File流操作
- 相机内参_相机标定(一):机器人手眼标定
- java代码转python代码_如何实现Java代码转换成python代码
- java kernel32.dll,关于kernel32.sys病毒的问题
- 最新!谷歌浏览器去除CSDN广告插件
- 【Excel2019(六):数据透视表】【创建数据透视表+更改数据透视表汇总方式+数据透视表中的组合+汇总多列数据+创建计算字段+生成多张工作表】
- poj3580:SuperMemo(块状链表/Splay)
- 我熬夜开发了一款简约实用、支持多平台的Markdown在线编辑器(开源)
- Python基础+进阶(万字总结,基础案例+执行结果)
- 《西游记》取经路线图|思维导图简单又漂亮
- 计算机组装与维修专用周报告,《计算机组装与维护专用周》实习报告.doc
- UI自动化测试工具Airtest