当前位置:首页 » 数据仓库 » 纯真ip数据库php
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

纯真ip数据库php

发布时间: 2023-04-01 03:56:13

‘壹’ 我做的php 网站,我在网上下载了ip 纯真版数据库,能显示地区 比如 “吉林省四平市”,我想把它提取出来

<?php

//第一步:透过代理获取用户真实的IP地址

$theip=getip();

function getIP()
{
static $realip;
if (isset($_SERVER)){
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")){
$realip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP"码晌吵);
} else {
$realip = getenv("REMOTE_ADDR");
}
}

return $realip;
}

//第二步:通过读取IP地址库,找到所属地区
//假设表名为ip,字段有begin(起始),end(结束),area(地区代号)

$dblink=@mysql_connect("数迟侍据库服务器名","数据库用户名","数据库密码");
$dbselect=@mysql_select_db(数据库名谨塌);
if (!$dbselect){
die("数据库无法读取");
}

$result=mysql_query("select * from `ip` where `begin`<=`$theip` and `end`>=`$theip`");
$num=mysql_num_rows($result);

if($num>0){
$info=mysql_fetch_array($result);
$page=$info['area'];
else{
$page='default'; //如果IP不在数据库中,则用缺省的页面
}

//第三步:转到相关页面,如代号为"js",转到"js.php"页面
$page.='.html'; //后缀你可以自己取
echo "<script language=\"javascript\">window.location.replace(\"$page\")</script>";

?>

‘贰’ 什么叫纯真IP数据库

纯真IP数据库是纯真网络(一个企业或网络团体)收集的关于全国的固定IP地址的一个数据库,会不断的随着变化或增加而进行更新,通过这个数据库,你就可以通过QQ或其他网络软件知道某个IP是归属于哪个省哪个市哪个地区,比如你可以知道你的QQ好友是哪个省哪个地区的。

‘叁’ 如何根据ip查对应的公司

只有申请了固定IP的公司,才有可能根据IP反查得到公司信息,但这个信息是非公开的,只有ISP比如电信才有这种信息。
但民间有一个数据库是用来解决这一问题,就是纯真数据库,
目前网络等很多网站也使用了隐困这个库,
原理是通过网友自己填写所在地或公司资料与自己的IP来对数据库进行完善
,由于多数的IP是动态分配的,所以准确性不能保证;如果使用固定IP的公司有人填了公司资料,你就有可能查得到。
具体可以在网络直接输入IP,或在使用了这个库的网站比如 123cha.com 来输入IP反查。
(3)纯真ip数据库php扩展阅读:
IP是Internet Protocol(网际互连协议)的缩写,是敬携培TCP/IP体系中的网络层协议。
设计IP的目的是提高网络的可扩展性:
一是解决互联网问题,实现大规模、异构网络的互联互通;
二是分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。
根据端到端的设计原则,IP只为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务。
IP地址是用来识别网络上的设备,因此,IP地址是由网络地址与主机地址两部分所组成。
网络地址
网络地址可用来识别设备所在的网络,网络地址位于IP地址的前段。
当组织或企业申请IP地址时,所获得的并非IP地址,而是取得一个唯一的、能够识别的网络地址。
同一网络上的所有设备,都有相同的网络地址。
IP路由的功能是根据IP地址中的网络地址,决定要将IP信息包送至所指明的那个网络。
主机地址
主机地址位于IP地址的后段,可用来识别网络上设备。
同一网络上的设备都会有相同的网络地亮唯址,而各设备之间则是以主机地址来区别。
由于各个网络的规模大小不一,大型的网络应该使用较短的网络地址,以便能使用较多的主机地址;
反之,较小的网络则应该使用较长的网络地址。
为了符合不同网络规模的需求,IP在设计时便根据网络地址的长度,设计与划分IP地址。

‘肆’ php获取了ip地址,用php怎么获取ip的地理位置请大虾赐教!

通过纯真QQip地址库文件查询IP地理位置
2009-02-26 14:11
一、下载纯真IP地址库文件QQWry.Dat (网上有很多,并且吵雹御可以定期升级)

二、创建类文件 IPLocation.php ,将下面代码直接拷贝到php文件中

<?php
/**
* IP 地理位置查询类
*
* @author 马秉尧
* @version 1.5
* @right 2005 CoolCode.CN
*/
class IpLocation
{
/**
* QQWry.Dat文件指针(使用以前珊瑚虫QQ的IP)
*
* @var resource
*/
var $fp;

/**
* 第一条IP记录的偏移地址
*
* @var int
*/
var $firstip;

/**
* 最后一条IP记录的偏移地址
*
* @var int
*/
var $lastip;

/**
* IP记录的总条数(不包含版本信息记录)
*
* @var int
*/
var $totalip;

/**
* 返回读取的长肆伏整型数
*
* @access private
* @return int
*/
function getlong()
{
//将读取的little-endian编码的4个字节转化升岩为长整型数
$result = unpack('Vlong', fread($this->fp, 4));
return $result['long'];
}

/**
* 返回读取的3个字节的长整型数
*
* @access private
* @return int
*/
function getlong3()
{
//将读取的little-endian编码的3个字节转化为长整型数
$result = unpack('Vlong', fread($this->fp, 3).chr(0));
return $result['long'];
}

/**
* 返回压缩后可进行比较的IP地址
*
* @access private
* @param string $ip
* @return string
*/
function packip($ip)
{
// 将IP地址转化为长整型数,如果在PHP5中,IP地址错误,则返回False,
// 这时intval将Flase转化为整数-1,之后压缩成big-endian编码的字符串
return pack('N', intval(ip2long($ip)));//intaval 获取变量的整数值
}

/**
* 返回读取的字符串
*
* @access private
* @param string $data
* @return string
*/
function getstring($data = "")
{
$char = fread($this->fp, 1);
while (ord($char) > 0)
{ // 字符串按照C格式保存,以\0结束 ord()得到字符的ASCII码
$data .= $char; // 将读取的字符连接到给定字符串之后
$char = fread($this->fp, 1);
}
return $data;
}

/**
* 返回地区信息
*
* @access private
* @return string
*/
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;
}

/**
* 根据所给 IP 地址或域名返回所在地区信息
*
* @access public
* @param string $ip
* @return array
*/
function getlocation($ip)
{
if (!$this->fp) return null; // 如果数据文件没有被正确打开,则直接返回空
$location['ip'] = gethostbyname($ip); // 将输入的域名转化为IP地址
$ip = $this->packip($location['ip']); // 将输入的IP地址转化为可比较的IP地址
// 不合法的IP地址会被转化为255.255.255.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函数在这里的作用是将little-endian的压缩IP地址转化为big-endian的格式
// 以便用于比较,后面相同。
if ($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; // 则表示找到结果,退出循环
}
}
}

//获取查找到的IP地理位置信息
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'] == " CZ88.NET")
{ // CZ88.NET表示没有有效信息
$location['country'] = "未知";
}
if ($location['area'] == " CZ88.NET")
{
$location['area'] = "";
}
return $location;
}

/**
* 构造函数,打开 QQWry.Dat 文件并初始化类中的信息
*
* @param string $filename
* @return IpLocation
*/
function IpLocation($filename = "QQWry.Dat")
{
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()
{
fclose($this->fp);
}
}
?>

三、程序部分

require_once("includes/IPLocation.php") ; //这里引用刚创建的类文件
$ipLocation = new IpLocation("includes/QQWry.Dat") ; //这里引用ip地址库

$ips = $ipLocation->getlocation($userIP) ; //$ips 就是所得到的物理地址,$userIP是传入的IP ,例如(202.106.12.23)

来源:http://hi..com/yang_bd/blog/item/7b44f830b8764e1eebc4afd1.html

下面是一个实例,获取IP并且检索出该IP地理位置

<?
//获取IP
error_reporting (E_ERROR | E_WARNING | E_PARSE);
if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
{
$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];

}
elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
{
$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];

}
elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
{
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];

}
elseif (getenv("HTTP_X_FORWARDED_FOR"))
{
$ip = getenv("HTTP_X_FORWARDED_FOR");

}
elseif (getenv("HTTP_CLIENT_IP"))
{
$ip = getenv("HTTP_CLIENT_IP");

}

elseif (getenv("REMOTE_ADDR"))
{
$ip = getenv("REMOTE_ADDR");

}

else
{
$ip = "Unknown";

}

require_once("includes/IPLocation.php") ; //这里引用刚创建的类文件
$ipLocation = new IpLocation("includes/QQWry.Dat") ; //这里引用ip地址库

$ips = $ipLocation->getlocation($ip) ; //$ips 就是所得到的物理地址

var_mp($ips);
?>

效果如下(我使用本地测试):
array(5) { ["ip"]=> string(9) "127.0.0.1" ["beginip"]=> string(9) "127.0.0.1" ["endip"]=> string(9) "127.0.0.1" ["country"]=> string(8) "本机地址" ["area"]=> string(0) "" }

‘伍’ 纯真ip数据库怎么用

腾讯QQ IP数据库是一个收集了包括最全的网吧数据在内的中国电信、中国网通、长城宽带、网通宽带、聚友宽带等 ISP 的最新准确 IP 地址数据的软件。

使用方法如下:

下载后直接点开就会出现软件页面,界面如图:

‘陆’ 什么是纯真ip段数据库

就是一个可以查询ip地址的软件,可以装在QQ中,让你查询ip地址很方便。但是不怎么好用。实用性不大。他那个数据库里包含了大部分ip地址的归属地。

‘柒’ php如何实现根据IP自动跳转首页

既然你的公司已经做到全国各地了,还稀罕服务器,做个分流就可以了。

‘捌’ 网站怎么限制某个地区访问

限制地区访问有两种方式。一、IP判断法。二、服务器限制法。
IP判断法:网站用ASP或者PHP代码调用IP数据库进行判断,网站设置好哪些城市可以访问,哪些城市不可以访问,比如说,网站不能让北京的来的访客访问,那么如果北京来的Ip的话,网站进行ip判断,如果是北京来的就让他访问其它的页面,如果不是北京来的访客就让他正常访问,要求是ip数据库用IP纯真数据库查询地区的IP段时保存成TXT格式,或者数据库格式,这样代码调用时侯就会快一些,不能采用直接到淘宝IP数据库或者IP的网站对比IP数据,那样的话网站打开很慢,可以把他们的IP数据库下载下来放到网站的根目录里面,这样网站打开会提高打开速度。
服务器限制法:服务器限制某城市访问,在服务器上面设置黑名单城市,如果是黑名单城市来的访问就让他拒绝访问,如果不是黑名单来的城市访客,就让他正常访问。

‘玖’ 怎么制作BS(比特精灵)的IPDATA文件

工具:电脑win11,比特精灵3.6.0

怎么制作BS(比特精灵)的IPDATA文件方法这个问题我之前遇到过,挺容易解决的,接下来就跟大家讲讲应该怎么操作:

第一步,打开比特精灵(BitSpirit)软件,打开软件后点击顶部的【功能】在弹出的选项中点击【制作种子文件】。(逗桐如下图所示)

以上就是解决怎么制作BS(比特精灵)的IPDATA文件的所有步骤啦,对你有用的话记得帮忙点赞点关注呀~。

‘拾’ Discuz、Phpwind和Spacebuilder,哪一个好用

discuz缺点:

不能批量编辑用户,如不能批量移动到指定用户组。

帖间随机广告代码不能“每条随机广告一行,用回车分开”。

没有“沉底”功能。

没有道具,用户不能自行改名。

不能批量删除某个用户若干天内的所有回复或主题。

优点:

discuz免费。

使用快速回复框时不会说“您提交的参数错误。请仔细阅读论坛帮助文件,确保您有相应的操作权限。”

不会因为css代码下载不完全而导致版面格式混乱。

积分、用户组、发帖数级别设置更灵活。

比asp+access版论坛更节约空间。转换后数据库大小只有动网Access数据库的三分之一。

速度快。

可以匿名发帖。

可以设置昵称。

可以直接使用纯真IP库。

后台设置简单明了。

可以“用户栏目定制”。

可以“合并用户”。

可以在后台直接更改用户名。

页面上下都有页码,方便翻页。

可以前台批量操作。

不会多重引用。

用户编辑帖子可以自己更改主题分类。

phpwind特点:

独创、成熟

phpwind独创的技术架构和程序设计,获得国家专利认证,从根基着手塑造快速、稳健、可扩展的论坛程序。7年砺炼,在用户需求基础上进行不断创新与完善,无论企业还是娱乐,全面满足论坛建设。

安全

高效防护算法、程序监控技术、注入式入侵过滤技术、防CC攻击技术、安全验证机制构筑的站点安全体系,将风险防患于未然

快捷、稳定、高效

核心参数的合理配置、负载均衡处理技术、数据库分表技术、文件读写稳定性算法帮助您最大限仿帆慧度地节省硬件资源,保障站点在服务器繁忙时快速稳定运行。

不仅为站长而设计

站长建站,影响的却是网民。PHPWind“不仅为站长而设计”的设计理念,将人性化融入论坛功能的点点滴滴。清晰的用户等级与权限设置,便捷完整的论坛功能与管理操作,详细地日志与统计记录,集成交易与支付,轻松备份/恢复数据给予站长和每一位会员良好的用户体验。

可扩展

开源、规范化的代码编写、标准化的插件接口和清晰简洁的模板体系理念,让站点无限延伸至未来。

完美整合

PHPWind所取得的同业合作,为您提供更多建站软件选择和无间隙的软件服务,帮助站点多面需求。查看详情

丰富的第三方资源

近千款风格,近百款插件,仍在不断丰富。查看详情

操作系统要求

PHPWind具备跨平台特性,支持 Linux/Unix及Windows 2000/2003/ XP等操作系统。

针对上述操作系统,我们队软件做了大量的测试和实地检验,保证PHPWind可以安全稳定的运行,但您仍需做好服务器操作系统的安全防备措施,例轿枝如Windows用户需更改MYSQL的初始密码,使用较新的稳定的软件版本等。

语言及数据库支撑环境要求可用的 web 服务器(如 Apache、Zeus、IIS 等)

php 5.2.x及以上

MySQL5.1.x及以上

Zend Optimizer 3.x及以上(可以不用)

如果您租用虚拟主机,请咨询虚拟主机提供商,您的空间服务器是否已安装了上述软件。

由于
PHPWind的数据表具有前缀设计,因此通常情况下可以将PHPWind与其他软件安装在同一个数据库中,或采用不同的前缀名在同一个数据库中安装多个PHPWind
论坛而不产生冲突。

您的 MySQL 数据库账号应当拥有 CREATE、DROP、ALTER 等执行权限。

安装可能用到的工具软件

PHPWind论坛系统的安装使用非常简单,因此您可能需要用到的工具软件也非常少。

1)您可能需要一个FTP客户端软件来上传PHPWind程序文件;

2)PHPWind是一个开源系统,您可以按自己的想法来修改程序代码,从而得到自己想要的社区呈现效果,或者社区系统某些配置文件的参数需要修改,此时您可能需要一个简单的文本文件编辑软件,一般操作系统自带的如Windows的记事本或第三方软件如备答EditPlus,都可以。

Spacebuilder - 特色

1.产品架构:采用“平台+应用”的设计思想,可以方便及快捷的扩展新的应用;

2. Ajax:表现层采用大量的jQuery技术,使用户获得良好的用户体验;

3. asp.net mvc:采用微软最新的asp.net
mvc(c#)进行表现层开发。彻底消除了ViewState可以万全控制html代码的输出;Controller与View完全分离充分避免了皮肤机制的性能损失;原生态的url
routing更利于urlrewrite。

4. 数据存储:目前采用SQL Server2000/SQLServer2005/SQL
Server2008进行数据存储,由于数据访问层采用了Provide设计模式所以可以方便的移植到其他关系型数据库;

5. 数据访问:为了提升性能以及数据库安全性,数据访问全部采用存储过程;

6. 高效缓存:使用可分区的缓存技术,并且具有优秀的缓存过期策略,使站点获得性能提升的同时,保证缓存与数据库数据同步;

7. 全文检索:以Lucene为核心实现全文检索功能,实现索引库自动更新,并提供企业级的全文检索性能;

8. 扩展机制:优秀的皮肤实现机制,使客户可以方便的对现有皮肤进行修改或开发新的皮肤;核心模块提供了全局事件,客户可以开发自己的Mole;

9. 配置文件:配置信息均采用XML格式,易于管理设置;

10. 所有页面均采用xhtml+css进行设计,符合web标准,兼容所有主流浏览器(IE、Firefox),降低页面流量,提高加载速度;