当前位置: 首页 > news >正文

网站开发项目书天津网站建设制作开发公司

网站开发项目书,天津网站建设制作开发公司,官方查企业信息的网站,wordpress产品介绍站长/程序员工具之PHP单程序文件实现IP归属地批量查询 支持提取IP便于直接粘贴日志#xff0c;去重防止重复查询浪费计算资源 按出现次数排序方便分析该IP行为。查询速度极快。 ?php //整理与分享#xff1a;yujianyue15058593138qq.com //注意还得放纯真IP数…站长/程序员工具之PHP单程序文件实现IP归属地批量查询 支持提取IP便于直接粘贴日志去重防止重复查询浪费计算资源 按出现次数排序方便分析该IP行为。查询速度极快。 ?php //整理与分享yujianyue15058593138qq.com //注意还得放纯真IP数据库 qqwry.dat(自行百度下载最新版) 和本查询代码同级 //核心查询程序 class IpLocation 来自网络 function tipx($str){ preg_match_all(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/, $str, $match); //$uni array_unique($match[0]); //asort($uni); $uni array_count_values($match[0]); // 使用array_count_values函数统计数组中每个元素的数量arsort($uni); return $uni;//得结果可输出查看或调用 }class IpLocation {//数据文件指针var $fp;var $firstip;var $lastip;var $totalip; function getlong() {//unpack从二进制字符串对数据进行解包//将读取的little-endian编码的4个字节转化为长整型数,fread安全读取二进制文件$result unpack(Vlong, fread($this-fp, 4));return $result[long];}function getlong3() {//将读取的little-endian编码的3个字节转化为长整型数$result unpack(Vlong, fread($this-fp, 3).chr(0));return $result[long];}function packip($ip) {//pack把数据装入一个二进制字符串//ip2long将IP地址转成无符号的长整型也可以用来验证IP地址return pack(N, intval(ip2long($ip)));}function getstring($data ) {$char fread($this-fp, 1);while (ord($char) 0) { //ord返回字符的ASCII值字符串按照C格式保存以\0结束$data . $char;$char fread($this-fp, 1);}return $data;}function getarea() {$byte fread($this-fp, 1); // 标志字节switch (ord($byte)) {case 0: // 没有区域信息$area ;break;case 1:case 2: // 标志字节为1或2表示区域信息被重定向fseek($this-fp, $this-getlong3());$area $this-getstring();break;default: // 否则表示区域信息没有被重定向$area $this-getstring($byte);break;}return $area;}function getlocation($ip) {if (!$this-fp) return null; // 如果数据文件没有被正确打开则直接返回空$location[ip] gethostbyname($ip); // 域名转化为IP地址$ip $this-packip($location[ip]); // 将输入的IP地址转化为可比较的IP地址// 不合法的IP地址会被转化为255// 对分搜索$l 0; // 搜索的下边界$u $this-totalip; // 搜索的上边界$findip $this-lastip; // 如果没有找到就返回最后一条IP记录QQWry.Dat的版本信息while ($l $u) { // 当上边界小于下边界时查找失败$i floor(($l $u) / 2); // 计算近似中间记录fseek($this-fp, $this-firstip $i * 7);$beginip strrev(fread($this-fp, 4)); // 获取中间记录的开始IP地址,strrev反转字符串// strrev函数在这里的作用是将little-endian的压缩IP地址转化为big-endian的格式便于比较//关于little-endian与big-endian 参考http://baike.baidu.com/view/2368412.htmif ($ip $beginip) { // 用户的IP小于中间记录的开始IP地址时$u $i - 1; // 将搜索的上边界修改为中间记录减一}else {fseek($this-fp, $this-getlong3());$endip strrev(fread($this-fp, 4)); // 获取中间记录的结束IP地址if ($ip $endip) { // 用户的IP大于中间记录的结束IP地址时$l $i 1; // 将搜索的下边界修改为中间记录加一}else { // 用户的IP在中间记录的IP范围内时$findip $this-firstip $i * 7;break; // 则表示找到结果退出循环}}}fseek($this-fp, $findip);$location[beginip] long2ip($this-getlong()); // 用户IP所在范围的开始地址$offset $this-getlong3();fseek($this-fp, $offset);$location[endip] long2ip($this-getlong()); // 用户IP所在范围的结束地址$byte fread($this-fp, 1); // 标志字节switch (ord($byte)) {case 1: // 标志字节为1表示国家和区域信息都被同时重定向$countryOffset $this-getlong3(); // 重定向地址fseek($this-fp, $countryOffset);$byte fread($this-fp, 1); // 标志字节switch (ord($byte)) {case 2: // 标志字节为2表示国家信息又被重定向fseek($this-fp, $this-getlong3());$location[country] $this-getstring();fseek($this-fp, $countryOffset 4);$location[area] $this-getarea();break;default: // 否则表示国家信息没有被重定向$location[country] $this-getstring($byte);$location[area] $this-getarea();break;}break;case 2: // 标志字节为2表示国家信息被重定向fseek($this-fp, $this-getlong3());$location[country] $this-getstring();fseek($this-fp, $offset 8);$location[area] $this-getarea();break;default: // 否则表示国家信息没有被重定向$location[country] $this-getstring($byte);$location[area] $this-getarea();break;}if ($location[country] CZNET) { // CZNET表示没有有效信息$location[country] 未知;}if ($location[area] CZNET) {$location[area] ;}return $location;}/*** 构造函数打开 QQWry.Dat 文件并初始化类中的信息*/function __construct($filename ./qqwry.dat) {$this-fp 0;if (($this-fp fopen($filename, rb)) ! false) {$this-firstip $this-getlong();$this-lastip $this-getlong();$this-totalip ($this-lastip - $this-firstip) / 7;//注册析构函数使其在程序执行结束时执行register_shutdown_function(array($this, _IpLocation));}}/*** 析构函数用于在页面执行结束后自动关闭打开的文件*/function _IpLocation() {if ($this-fp) {fclose($this-fp);}$this-fp 0;}} if($_GET[x] cha){ $tips isset($_POST[tips]) ? $_POST[tips] : ; //if(!filter_var($user, FILTER_VALIDATE_EMAIL)){ exit(电子邮件格式错误);} $txts str_replace(array(\r\n,\r,\n,\t,,, ),|,$tips); $lisa tipx($txts); //explode(|,$txts); echo h2strong以下信息仅供参考/strong(提取IP/已去重/按出现次数降序排序)/h2\r\n; echo table cellspacing\0\ class\table\ cellpadding\0\\r\n; echo tr classtttd width99IP/tdtd width60出现次数/tdtd width99IP/24/tdtd归属地/td/tr\r\n; $iplocation new IpLocation(); $ipx array(); foreach($lisa as $zz $ges){$location $iplocation-getlocation($zz);$zi explode(.,$zz); $zip $zi[0]...$zi[1]...$zi[2]..0/24;$diqu mb_convert_encoding($location[country]._.$location[area], utf-8, gbk);echo trtd$zz/tdtd$ges/tdtd$zip/tdtd$diqu/td/tr\r\n; } echo /table\r\n; exit(); } ? !DOCTYPE html html head title批量查IP归属地/title meta charsetUTF-8 meta nameviewport contentwidthdevice-width,minimum-scale1.0,maximum-scale1.0 meta nameapple-mobile-web-app-capable contentyes / script typetext/javascript console.log(问题反馈电话:,15058593138); console.log(问题反馈邮件:,admin12391.net); function $(objId){ return document.getElementById(objId); } function loadcha(xid) { var xmlhttp; var Stxt numsaa; Stxttips encodeURIComponent($(tips).value); //$(tips).innerHTML 正在加载...; if (window.XMLHttpRequest) { xmlhttp new XMLHttpRequest(); } else { xmlhttp new ActiveXObject(Microsoft.XMLHTTP); } xmlhttp.onreadystatechange function() { if (xmlhttp.readyState 4 xmlhttp.status 200) { var btxt xmlhttp.response; if(btxt err01){ $(tipx).innerHTML !; return false;} $(tipx).innerHTML xmlhttp.response; } } xmlhttp.open(POST, ?xchattMath.random(), true); xmlhttp.setRequestHeader(Content-type, application/x-www-form-urlencoded); xmlhttp.send(Stxt); }/script style div,#tipx{display:block;width:99.7%;border:0;margin-top:5px;} textarea{display:block;width:99.7%;border:1px solid #ccc;height:160px;} table{margin:20px auto;border-left:1px solid #a2c6d3;border-top:3px solid #0180CF;font-size:12px;width:99.7%;} table td{border-right:1px solid #a2c6d3;border-bottom:1px solid #a2c6d3;padding:2px;word-wrap:break-word;word-break:break-all;} td{min-width:30px;max-width:490px;} .tt{background-color: #f2f2f2;} #submit{ height:35px;} /style /head bodyform classform idform methodPOST act?actcha h3批量查询IP归属地/h3 p自动提文本中IP地址去重和出现次数降序并查询归属地!/p textarea idtips 3.224.220.24 52.70.240.24 202.63.172.24 /textareainput typebutton idsubmit value提交查询 onclickloadcha(xid) div idtipx/div/form /body /html
http://www.zqtcl.cn/news/646796/

相关文章:

  • 网站做的比较好的公司吗2017年做网站多少钱
  • 基础展示营销型型网站重庆百度总代理
  • 网站建设 技术可行性这是我自己做的网站
  • 西安网站策划关键词优化哪家好
  • 能看建设动漫黄图的网站海外仓一件代发平台
  • 做网站都需要了解什么大连福佳新城2026年建站吗
  • php 网站部署到服务器泉州模板建站哪家好
  • 网站服务器上的跳转选择怎么做网站是怎么建立的
  • 网站后台目录如何保护公司网站建设需要要求什么软件
  • 四川省建设厅网站官网自己做的网站能上传到凡科吗
  • 米拓网站建设-app定制开发免费个人建站系统
  • 网站改版公司如何帮公司做网站
  • 曹县汽车网站建设网站怎么做才 吸引人
  • 河南周口东宇网站建设wordpress怎么重新安装插件
  • wordpress无法上传主题南通做网站优化公司
  • 做彩票网站能挣到钱吗南充市房产信息网
  • 沧州北京网站建设金华网站建设哪个公司好点
  • 北京朝阳建站优化wordpress主题访问慢
  • wordpress最快仿站酷炫个人特别网站
  • 公司建站详细步骤如何注册一家公司要多少钱
  • 网站推广网络营销山西大学物理电子工程学院研招网
  • 亚马逊做国际外贸在哪个网站毕业设计网站开发选题依据
  • 镇江网站排名优化费用app软件开发平台游戏
  • 襄阳网站建设xytzg南通网站建设top
  • 有没有做产品团购的网站2d动画制作软件
  • 成都网站排名生客seo杭州专业网站制作设计
  • 阿里云 企业 网站四平市网站建设
  • 政务门户网站建设信息奇人网站
  • 打开网站弹出广告代码如何建设网站方便后期维护
  • 海淀网站建设龙岩做网站用什么cms 知乎