当前位置:首页 » 操作系统 » geoip数据库

geoip数据库

发布时间: 2022-05-27 17:08:28

㈠ 网站建设:如何通过IP区分不同国家的用户

这是为了让不同的国度和习惯的访客看到不一样的信息, 避免误导用户产生多余的交互行为或者因为页面的不合理而感到不爽.上图是最近我在顶部放置的广告 banner. 上方红色的是某网站圣诞节促销活动的Affiliate 广告, 中国大陆之外地区的访客可以看到; 下方蓝色的是最新发布的与我同行 Apply App 应用广告, 只有中国大陆地区的访客可以看到. 区分访客国家有什么用?这里是几个我利用该功能的例子.区分网站功能 这个博客有翻译文章的功能, 这是为了方便海外访客阅读文章, 但对中国人显得十分多余. 所以我通过 IP 判断国家, 对中国大陆地区屏蔽翻译功能.区分展示广告 我在网站侧边栏放有广告, 很多中文广告对海外流量来说毫无意义, 所以我进行区分展示. 中国大陆地区在侧边栏最下方看到的是拿福能的广告, 而其他地区看到的是 Google 的广告. hostucan 是我的一个广告主, 有英文网站, 也有中文网站, 所以我可以向他提供区分展示服务, 免得浪费流量.屏蔽布点服务 海外有很多好的服务平台, 在网站上布点即可采集数据和分享文章. 但很不幸, 因为某些原因, 他们在国内展示效果并不好, 不但没有起到应有效果, 还让页面加载时间变长. 可以对大陆访客屏蔽这些布点.在php 通过 IP 区分国家如何用 PHP 通过 IP 区分国家和地区呢? Maxmind.com 提供一套 GeoIP 的解决方案, 只需要简单几步即可在 PHP 中通过 IP 判断访客的国家.1. 下载数据库和 PHP 库文件下载GeoID.dat.gz, 解压为 GeoIP.dat 文件.下载geoip.inc.2. 通过 PHP 代码获取国家信息 以下是一段示范代码, 演示如何获取国家代号和国家名称.<?php // 引入 PHP 库文件include("geoip.inc"); // 打开本地数据库, 数据保存在 GeoIP 文件中.$geoData= geoip_open('GeoIP.dat', GEOIP_STANDARD); // 获取国家 IP$countryCode= geoip_country_code_by_addr($geoData,$_SERVER['REMOTE_ADDR']); // 获取国家名称$countryName= geoip_country_name_by_addr($geoData,$_SERVER['REMOTE_ADDR']); // 关闭本地数据库 geoip_close($geoData); ?>在WordPress 中通过 IP 区分国家既然PHP 上使用没问题, WordPress 肯定也是 Okay 的. 看看我是怎么使用的.1. 放置数据库文件 将GeoIP.dat 解压到 WordPress 根目录中. (你可以在这个目录找到 wp-content.php 文件)2. 编写调用接口 在主题目录中新建文件夹 include, 将 geoip.inc 放置在新建文件夹中. 并在该文件夹新建文件 geoip.php 文件内容如下.<?php include('geoip.inc'); global$countryCode; $geoData= geoip_open('GeoIP.dat', GEOIP_STANDARD);$countryCode= geoip_country_code_by_addr($geoData,$_SERVER['REMOTE_ADDR']); geoip_close($geoData); ?>这里只取国家代号作为判别依据. 并且国家代号是全局变量, 以避免页面多处判断需要反复访问 GeoIP.dat 获取信息, 减少程序开销.2. 调用接口, 获取国家代号 3. 打开 header.php 文件, 在文件顶部加入代码如下.<?phpinclude('include/geoip.php');?>4. 使用国家代号 在主题中调用代码, 例子如下.<?

㈡ 如何设置根据不同的IP地址所在地域访问不同的服务

您可以到时代互联的官网首页,然后右上角又一个帮助中心,然后在那里有很多关于域名、服务器等问题的解决方法的,希望可以帮到您。

㈢ goaccess用的什么数据库

一,安装GoAccess
安装goaccess前需要安装其依赖包,可以在goaccess的官网上找到依赖access.io/ ,以下是各系统所需的依赖包。
GoAccess Dependencies

Distro
NCurses
GLib >= 2.0.0
GeoIP (optional)
Tokyo Cabinet (optional)

Ubuntu/Debian libncursesw5-dev libglib2.0-dev libgeoip-dev libtokyocabinet-dev
Fedora/RHEL/CentOS ncurses-devel glib2-devel geoip-devel tokyocabinet-devel
Arch Linux ncurses glib2 geoip compile from source
Gentoo sys-libs/ncurses dev-libs/glib:2 dev-libs/geoip dev-db/tokyocabinet

java 使用geoip需要导入什么包

GeoIP数据库下载地址:http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
API 源码下载
http://geolite.maxmind.com/download/geoip/api/java/

下载解压:有一些测试类 “*test.java”,如 CountryLookupTest.java
将所有源码拷贝在一个java工程下面...

改下源码的Geoip.dat文件的目录 :我是放在C盘;
代码:

Java代码
class CountryLookupTest {
public static void main(String[] args) {
try {
// String sep = System.getProperty("file.separator");
//
// // Uncomment for windows
// String dir = System.getProperty("user.dir");
//
// // Uncomment for Linux
// //String dir = "/usr/local/share/GeoIP";
//
// String dbfile = dir + sep + "GeoIP.dat";
// You should only call LookupService once, especially if you use
// GEOIP_MEMORY_CACHE mode, since the LookupService constructor
// takes up
// resources to load the GeoIP.dat file into memory
// LookupService cl = new
// LookupService(dbfile,LookupService.GEOIP_STANDARD);

LookupService cl = new LookupService("c:\\GeoIP.dat",
LookupService.GEOIP_MEMORY_CACHE);

System.out.println(cl.getCountry("159.226.115.22").getCode());
System.out.println(cl.getCountry("159.226.115.22").getName());
System.out.println(cl.getCountry("183.16.200.127").getName());
System.out.println(cl.getCountry("213.52.50.8").getName());
System.out.println(cl.getCountry("200.21.225.82").getName());

cl.close();
} catch (IOException e) {
System.out.println("IO Exception");
}
}
}

㈤ 如何在Linux上按国别阻止网络流量

作为一名维护生产环境Linux服务器的系统管理员,在有些情况下,你需要根据地理位置,有选择性地阻止或允许网络流量。比如说,你遇到了拒绝服务攻击,这些攻击主要源自在某一个国家注册的IP地址。在其他情况下,出于安全方面的原因,你又想要阻止外国来历不明SSH登录请求;或者贵公司对在线视频拥有发行权,因而只可以分发给某些国家;或者由于地域限制方面的公司政策,你需要防止本地主机将文档上传到非美国远程云存储系统。

所有这些场景都需要能够安装一个防火墙,可以按国别对流量进行过滤。有几种方法可以做到这一点。举例说,你可以使用TCP包装器(TCP wrapper),针对个别应用程序(比如SSH、NFS和httpd)设置有条件的阻止。其缺点是,你想要保护的那个应用程序在开发当初必须支持TCP包装器。此外,TCP包装器并非普遍出现在不同的平台上(比如说,Arch Linux已停止对TCP包装器的支持)。另一种办法就是,利用基于国家的GeoIP信息来设置ipset,然后将它运用于iptables规则。后一种方法更有希望,因为基于iptables的过滤与应用程序无关,而且易于设置。
我在本教程中将介绍另一种基于iptables的GeoIP过滤机制,这种机制实施了xtables-addons。有些读者对它还不熟悉,所以有必要先介绍一下,xtables-addons是一套面向netfilter/iptables的扩展。xtables-addons内含了一个名为xt_geoip的模块,该模块扩展了netfilter/iptables的功能,可以根据来源/目的地国家,过滤、NAT或管理数据包。如果你想使用xt_geoip,不需要重新编译内核或iptables,只需要构建xtables-addons模块,并使用当前的内核构建环境(/lib/moles/`uname -r`/build)。也不需要重启。一旦你构建并安装好了xtables-addons,xt_geoip立即就可以与iptables结合使用。
至于xt_geoip和ipset之间的区别,官方来源(http://xtables-addons.sourceforge.net/geoip.php)提到,xt_geoip在内存占用空间方面少于ipset。不过在匹配速度方面,基于散列的ipset可能具有优势。
在本教程其余部分,我会演示如何使用iptables/xt_geoip,根据来源/目的地国家,阻止网络流量。
将Xtables-addons安装到Linux上
下面介绍如何编译xtables-addons,并将它安装到不同的Linux平台上。
想构建xtables-addons,你就需要先安装几个依赖程序包。
·将依赖程序包安装到Debian、Ubuntu或Linux Mint上
$ sudo apt-get install iptables-dev xtables-addons-common libtext-csv-xs-perl pkg-config

·将依赖程序包安装到CentOS、RHEL或Fedora上
CentOS/RHEL 6需要先安装EPEL软件库(面向perl-Text-CSV_XS)。
$ sudo yum install gcc-c++ make automake kernel-devel-`uname -r` wget unzip iptables-devel perl-Text-CSV_XS

编译和安装Xtables-addons
从官方网站(http://xtables-addons.sourceforge.net)下载最新的xtables-addons源代码,然后构建/安装它,如下所示。
$wget http://downloads.sourceforge.net/project/xtables-addons/Xtables-addons/xtables-addons
-2.10.tar.xz
$ tar xf xtables-addons-2.10.tar.xz
$ cd xtables-addons-2.10
$ ./configure
$ make
$ sudo make install

请注意:如果是默认情况下已启用SELinux的基于红帽的系统(CentOS、RHEL、Fedora),有必要调整SELinux策略,如下所示。要不然,SELinux会阻止iptables装入xt_geoip模块。
$ sudo chcon -vR --user=system_u /lib/moles/$(uname -r)/extra/*.ko
$ sudo chcon -vR --type=lib_t /lib64/xtables/*.so

为Xtables-addons安装GeoIP数据库
下一步是安装GeoIP数据库,xt_geoip将用到该数据库,用于IP与国别映射。很方便的是,xtables-addons源程序包随带两个帮助脚本,可分别用来从MaxMind下载GeoIP数据库,并将它转换成xt_geoip可识别的二进制格式。这些脚本位于源程序包里面的geoip文件夹下面。按照下列说明,即可构建GeoIP数据库,并将它安装到你系统上。
$ cd geoip
$ ./xt_geoip_dl
$ ./xt_geoip_build GeoIPCountryWhois.csv
$ sudo mkdir -p /usr/share/xt_geoip
$ sudo cp -r {BE,LE} /usr/share/xt_geoip

据MaxMind声称,其GeoIP数据库的准确性达到99.8%,数据库更每月都更新。为了确保本地安装的GeoIP数据库内容最新,你就需要设置每月执行的计划任务,以便每月更新一次本地GeoIP数据库。
阻止来自或发往某个国家的网络流量
一旦xt_geoip模块和GeoIP数据库都已安装好,你就可以立即使用iptables命令中的geoip匹配选项。
$ sudo iptables -m geoip --src-cc country[,country...] --dst-cc country[,country...]

你想要阻止的国家使用两个字母ISO3166代码来指定,比如说US(美国)、CN(中国)、IN(印度)和FR(法国)。
比如说,如果你想阻止来自也门(YE)和赞比亚(ZM)的入站流量,下面这个iptables命令就能实现。
$ sudo iptables -I INPUT -m geoip --src-cc YE,ZM -j DROP

如果你想阻止发往中国(CN)的出站流量,只要运行下面这个命令。
$ sudo iptables -A OUTPUT -m geoip --dst-cc CN -j DROP

匹配条件也可以被“抵消”,只要将“!”放在“--src-cc”或“--dst-cc”的前面。比如说:
如果你想在服务器上阻止所有非美国的入站流量,可以运行这个命令:
$ sudo iptables -I INPUT -m geoip ! --src-cc US -j DROP

针对Firewall-cmd用户
像CentOS/RHEL 7或Fedora这一些发行版已将iptables换成firewalld,作为默认防火墙服务器。在这类系统上,你同样可以利用xt_geoip,使用firewall-cmd阻止流量。上面三个例子可以用firewall-cmd来改写,如下所示。
$ sudo firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -m geoip --src-cc YE,ZM -j DROP
$ sudo firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -m geoip --dst-cc CN -j DROP
$ sudo firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -m geoip ! --src-cc US -j DROP

结束语
我在本教程中介绍了iptables/xt_geoip,这是一种简单方法,可以根据来源/目的地国家,对网络数据包进行过滤。如果需要的话,可以将这件有用的武器部署到你的防火墙系统中。最后提醒一句,我应该提到:基于GeoIP的流量过滤并不是在你服务器上阻止某些国家的万无一失的方法。GeoIP数据库天生就不准确/不完整,如果使用VPN、Tor或任何受到危及的中继主机,就很容易欺骗来源/目的地国家。基于地域的过滤甚至会阻止本不该被禁止的合法流量。明白这个局限性后,再决定将它部署到你的生产环境中也不迟。

㈥ 怎么用geoip屏蔽日本访客,php的形式来判断。我找到个代码,但它是允许日本的,怎么改成禁止日本

$country=='jp'修改为
$country != 'jp'
好了,就这么简单~

㈦ from geoip2 import database什么意思

from geoip import database
从更多的地方导入数据库

㈧ GeoIp2 数据库读取问题,我是在eclipse上编写的java jdk是7,生成DatabaseReader实例时报错

缺少jar包:
maxmind-db-1.0.0.jar
jackson-core-2.5.1.jar
jackson-databind-2.5.1.jar
jackson-annotations-2.5.1.jar

可以去MAVEN 库 搜索下载,记住:maven工程可以看POM.XML文件,找到项目的依赖包。

㈨ 帮忙翻译

该库GeoIP模块本来写djeyl为阿莫西林,并改写了从无到有,由lopan为阿莫西林国防部十库GeoIP是一个数据库的物理位置, IP地址,以及这个单元,让您看参赛球员。

㈩ 如何通过命令行查找一个IP的地理位置信息

如果你想查找一个IP地址在地球上的实际地理位置,现在已经有好多在线的GeoIp查找服务你可以利用(例如geoiptool.com)。这些在线服务大多数都是由免费的像MaxMind这样的GeoIP数据库提供支持。在使用这些基于网页的服务同时,这里也有一些不同的方法来查询GeoIP数据库,尤其是Linux命令行。http://www.geekfan.net/7863/ 自己去看吧 我不太专业。

热点内容
自然语言处理的算法 发布:2024-10-28 01:08:38 浏览:417
linux软连接和硬链接的区别 发布:2024-10-28 01:02:38 浏览:613
asp数据库封装 发布:2024-10-28 00:54:52 浏览:948
python类是什么 发布:2024-10-28 00:48:05 浏览:377
android添加资源 发布:2024-10-28 00:47:53 浏览:107
传奇脚本编写 发布:2024-10-28 00:44:56 浏览:198
大华摄像头nas服务器地址 发布:2024-10-28 00:44:13 浏览:903
安全门密码锁上三个小孔是什么 发布:2024-10-28 00:36:12 浏览:352
myeclipse反编译插件在线安装 发布:2024-10-28 00:19:08 浏览:480
怎么配置英特尔 发布:2024-10-28 00:16:53 浏览:995