标签: geoip

我应该定期更新GeoLiteCity.dat吗?

Logstash可以使用捆绑的GeoLiteCity.dat数据库进行IP地址查找.此数据库是否与MaxMind提供的数据库相同?MaxMind在每个月的第一个星期二更新数据库.

设置一个作业来自动刷新数据库而不是等待来自ElasticSearch的Logstash更新是否明智?

编辑:2014年12月1日这是我写的用于执行数据库自动更新的bash脚本.我阅读此过滤器的源代码是,可能需要重新启动服务才能占用更新的数据库文件.

#!/bin/bash

# Downloads the latest GeoLight DBs from maxmind.
# Updates/replaces the databases that logstash uses.
# These are the IP-to-location databases that logstash uses.
# Maxmind updates them once a month on the first Tuesday of the month.
# See http://dev.maxmind.com/geoip/legacy/geolite/

echo Beginning update of GeoIP databases for logstash.
cd /tmp
rm -f GeoIPASNum.dat.gz GeoIPASNum.dat GeoLiteCity.dat.gz GeoLiteCity.dat
echo Downloading latest files.
wget --quiet --output-document GeoIPASNum.dat.gz http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz || { echo 'Download of GeoIPASNum.dat.gz …
Run Code Online (Sandbox Code Playgroud)

geoip elasticsearch logstash kibana

9
推荐指数
1
解决办法
6847
查看次数

仅允许某些国家的流量访问特定页面

--with-http_geoip_module用于识别流量.有些页面我只想让某个国家访问.这是配置:

对于 http

 http{
    geoip_country  /usr/share/GeoIP/GeoIP.dat; # the country IP database
    map $geoip_country_code $allowed_country {
            default 0;
            US 1;
            UK 1;
            HK 1; 

     }

  }
Run Code Online (Sandbox Code Playgroud)

location指令:

location = /testing {
            if ($allowed_country = 0) {

                    return 301 ;
              }
    }
Run Code Online (Sandbox Code Playgroud)

问题是当我使用US/ HKIP时,我收到404错误.我做错了什么?

UPDATE

这是我的完整conf档案:

http {
include       /etc/nginx/mime.types;
default_type  application/octet-stream;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

access_log  /var/log/nginx/access.log  main;

geoip_country  /usr/share/GeoIP/GeoIP.dat; # the …
Run Code Online (Sandbox Code Playgroud)

system-administration nginx geoip server

9
推荐指数
1
解决办法
4684
查看次数

将IP地址与国家/地区相关联

我想根据我在服务器端收到的IP地址显示国家标志.固定IP地址是否分配给国家?我在哪里可以获取ip地址到国家/地区映射的数据库?

ip-address geolocation geoip

8
推荐指数
1
解决办法
2万
查看次数

哪里可以找到用于测试GeoIP服务的优秀代理服务器?

我们想测试GeoIP服务.因此,我们需要使用来自其他国家/地区的IP访问该网站.

有很多免费的代理列表,如http://nntime.com/proxy-country/

它们的问题是,只有CoDeen-Proxies正在运行.但是使用CoDeen,您无法选择您的原籍国(与TOR相同).您将被重定向到网络中的随机代理.

哪里可以找到用于测试GeoIP服务的良好代理服务器?免费的代理服务器会很棒,但是如果它们花费的价格很小则无关紧要.

ip country service proxy geoip

8
推荐指数
1
解决办法
9926
查看次数

Geoip2的python库在pySpark的map函数中不起作用

我正在使用geoip2的python库和pySpark来获取某些IP的地理地址.我的代码是这样的:

geoDBpath = 'somePath/geoDB/GeoLite2-City.mmdb'
geoPath = os.path.join(geoDBpath)
sc.addFile(geoPath)
reader = geoip2.database.Reader(SparkFiles.get(geoPath))
def ip2city(ip):
    try:
        city = reader.city(ip).city.name
    except:
        city = 'not found'
    return city
Run Code Online (Sandbox Code Playgroud)

我试过了

print ip2city("128.101.101.101")
Run Code Online (Sandbox Code Playgroud)

有用.但是当我尝试在rdd.map中执行此操作时:

rdd = sc.parallelize([ip1, ip2, ip3, ip3, ...])
print rdd.map(lambda x: ip2city(x))
Run Code Online (Sandbox Code Playgroud)

据报道

    Traceback (most recent call last):
  File "/home/worker/software/spark/python/pyspark/rdd.py", line 1299, in take
    res = self.context.runJob(self, takeUpToNumLeft, p)
  File "/home/worker/software/spark/python/pyspark/context.py", line 916, in runJob
    port = self._jvm.PythonRDD.runJob(self._jsc.sc(), mappedRDD._jrdd, partitions)
  File "/home/worker/software/spark/python/lib/py4j-0.8.2.1-src.zip/py4j/java_gateway.py", line 538, in __call__
  File "/home/worker/software/spark/python/lib/py4j-0.8.2.1-src.zip/py4j/protocol.py", line 300, in get_return_value
py4j.protocol.Py4JJavaError: …
Run Code Online (Sandbox Code Playgroud)

python geoip apache-spark pyspark

8
推荐指数
1
解决办法
1592
查看次数

在 Woocommerce 3 中获取用户地理定位的国家名称

我想根据用户 geoip 国家/地区名称在 WooCommerce 标头中添加“We ship to{country name} ”?

我想在我的 WooCommerce 商店的标题中写入 html 内容,例如We ship to "Your Country name"

任何帮助将不胜感激?

我已经启用了 WooCommerce 地理定位。

html php wordpress geoip woocommerce

7
推荐指数
1
解决办法
4291
查看次数

在浏览器中确定用户地理位置的最准确方法是什么?

我找到了一些建议谷歌AJAX API的例子.

此链接代表了我迄今为止发现的建议:http://briancray.com/2009/05/29/find-web-visitors-location-javascript-google-api/

但是,Google API的位置通常是错误的.

其他网站似乎确切地知道我在哪个城市,但没有我输入任何信息.

建议?是否有跨浏览器(忽略IE6)和可靠的东西?

location geolocation geoip

6
推荐指数
1
解决办法
7559
查看次数

GeoIP for C++ 有这个库吗?

我找了又找,还是找不到 GeoIP 的 C++ 版本。我知道它有一个 C 版本,但我似乎无法让它与 Micosoft Visual Studio 2012 C++ 一起使用

我努力了:

所以,

  1. 是否存在 GeoIPC++ 版本?
  2. 是否有另一个库可以像 C++ 中的 GeoIP 一样对国家/地区进行 IP 处理?
  3. 有关于如何使用 C++ 使用 GeoIP 的教程吗?

对所有问题感到抱歉,但我看了又看,似乎找不到解决方案。

c++ ip country geoip maxmind

6
推荐指数
2
解决办法
7884
查看次数

如何找到IP地址的历史地理位置,也许使用maxmind?

我想知道是否有办法找到历史地理位置的IP信息?我能找到的所有内容都讨论了当前的数据,但我一直无法找到任何方法来查询服务或数据库,例如,从几年前查找有关IP的信息.

我发现这篇题为"如何执行历史IP地理定位查找"的文章,它确实提到maxmind是一个潜在的工具,availability of historical versions但它没有提到如何访问这些数据.

通过maxmind api文档查看我似乎无法找到按日期查询的任何方法.

如何才能在过去的某个时间找到知识产权的位置?(没有必要提供极高的准确性,例如2012年查找此IP地址的国家/地区)

geoip maxmind

6
推荐指数
1
解决办法
4412
查看次数

使用javascript获取Cloudflare的HTTP_CF_IPCOUNTRY标头?

有很多SO问题如何使用javascript获取http标头,但由于某种原因,它们不会显示HTTP_CF_IPCOUNTRY标头.

如果我尝试使用php echo $_SERVER["HTTP_CF_IPCOUNTRY"];,它可以工作,所以CF工作得很好.

是否可以使用javascript获取此标头?

javascript web-worker geoip cloudflare

6
推荐指数
4
解决办法
5729
查看次数