标签: geoip

从IP地址获取位置

我想从他们的IP地址检索访问者的城市,州和国家等信息,以便我可以根据他们的位置自定义我的网页.有没有一种好的,可靠的方法在PHP中执行此操作?我使用JavaScript进行客户端脚本编写,使用PHP进行服务器端脚本编写,使用MySQL进行数据库访问.

php ip geolocation geoip

192
推荐指数
16
解决办法
35万
查看次数

使用PHP获取IP地址

理想情况下,我正在尝试将可以从任何Web浏览器查询的PHP脚本放在一起,并返回访问PHP脚本的IP地址的国家/地区.

这可能还是有更好的解决方案?

php ip-address geolocation geoip ip-geolocation

91
推荐指数
8
解决办法
20万
查看次数

按IP地址识别国家/地区

有没有办法通过查看IP地址来确定国家名称?我的意思是,国家/地区是否有特定的IP地址范围?例如,澳大利亚只能在范围内拥有IP地址123.45.56.89 - 231.54.65.98(仅举例)

ip ip-address geolocation geoip

39
推荐指数
6
解决办法
8万
查看次数

如何使用现有NGINX安装启用动态模块

介绍

从NGINX版本1.9.11和upwarts,引入了一个新功能:动态模块.

使用动态模块,您可以选择在运行时将单独的共享对象文件作为模块加载 - 包括第三方模块和一些本机NGINX模块.(来源)

我的设置和问题

我从主线安装NGINX(目前是1.9.14),因此它能够使用动态模块.它还有我想要动态启用的模块:

nginx -V
nginx version: nginx/1.9.14
built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1) 
built with OpenSSL 1.0.1f 6 Jan 2014
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules ... --with-http_geoip_module=dynamic ...
Run Code Online (Sandbox Code Playgroud)

请注意,--with-http_geoip_module=dynamic它会加载我需要的模块(动态).不幸的是,文档缺乏(一些细节),我无法设置.
我有一个现有的NGINX安装(不是来自源代码).但据我所知,我只需要构建模块,将生成的模块文件放在正确的NGINX文件夹中,并在配置文件中启用它.

到目前为止我尝试了什么

我在另一台机器上测试了这个(具有相同的配置,但不是生产机器),但我没有看到该ngx_http_geoip_module.so文件.我使用的命令:

wget http://nginx.org/download/nginx-1.9.14.tar.gz
tar -xzf nginx-1.9.14.tar.gz
cd nginx-1.9.14/
./configure --with-http_geoip_module=dynamic
Run Code Online (Sandbox Code Playgroud)

问题

  • 我尝试在安装NGINX的系统上构建模块是一个问题吗?
  • 为什么我的命令没有生成.so文件?

configuration nginx geoip

26
推荐指数
2
解决办法
4万
查看次数

基于IP地址的地理位置 - PHP

我们正在寻找一种快速准确的方法来根据他们的IP获取访问者位置.

我们已经尝试了ipinfodb.com但他们的API使我们的网站在进行API调用时严重滞后.

你还建议其他什么服务?

php geolocation geoip

21
推荐指数
2
解决办法
5万
查看次数

安装自定义构建heroku并使用库路径发出问题

我正在尝试在heroku上安装自定义构建,所以我使用各种方法尝试使用buildpacks进行第三方安装.在我的.buildpacks文件中,我有:

https://github.com/ddollar/heroku-buildpack-apt
https://github.com/heroku/heroku-buildpack-python.git
Run Code Online (Sandbox Code Playgroud)

在我的Aptfile我有以下内容:libgeoip-dev这是geoip的先决条件,与requirements.txt(GeoIP==1.3.2)一起安装

这是我的环境变量:

remote: C_INCLUDE_PATH is /app/.heroku/vendor/include:/app/.heroku/vendor/include:/app/.heroku/python/include
remote: CPATH is /tmp/build_xxxxx/.apt/usr/include:
remote: LD_LIBRARY_PATH is /app/.heroku/vendor/lib:/app/.heroku/vendor/lib:/app/.heroku/python/lib
Run Code Online (Sandbox Code Playgroud)

我得到的错误消息是:

remote:        building 'GeoIP' extension
remote:        creating build
remote:        creating build/temp.linux-x86_64-2.7
remote:        gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/app/.heroku/python/include/python2.7 -c py_GeoIP.c -o build/temp.linux-x86_64-2.7/py_GeoIP.o -fno-strict-aliasing
remote:        creating build/lib.linux-x86_64-2.7
remote:        gcc -pthread -shared build/temp.linux-x86_64-2.7/py_GeoIP.o -lGeoIP -o build/lib.linux-x86_64-2.7/GeoIP.so
remote:        /usr/bin/ld: cannot find -lGeoIP
remote:        collect2: error: ld returned 1 exit status
remote: …
Run Code Online (Sandbox Code Playgroud)

python heroku geoip buildpack

19
推荐指数
1
解决办法
971
查看次数

如何将Maxmind .MMDB转换为.DAT?

如何将MaxMinds MMDB GeoIP转换为DAT格式,以便我可以使用modsecurity + Apache.Modsecurity仅支持DAT格式.

geoip maxmind

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

是否有node.js模块可以确定IP的地理位置?

提供IP,是否有node.js模块可以确定它所在的城市和州?

javascript ip geolocation geoip node.js

16
推荐指数
1
解决办法
7571
查看次数

htaccess使用mod_GeoIP重写规则

对于拥有3个不同商店的电子商务网站,我遇到了mod_geoip的一些问题.我们在root/store有我们的主店,但在root/ukstore和root/austore也有商店.主根/存储包含/ skin,/ media和/ js目录,其中包含所有css,images和javascripts.使用此当前设置,网址完美地交换基础,但保留URL的其余部分,因此如果来自英国的用户转到root/store/category/product /,它们将被重定向到root/ukstore/category/product/.

现在有两件事是问题.

每当客户访问结帐或帐户等安全页面时,css和javascript的URL都会被重写为root/ukstore/skin或root/ukstore/js.对于那些URL,我是否缺少SSL的问题?

其次,如果来自南非的用户访问商店,则将它们重写到英国商店,并且所有css,js,图像完美地链接回商店/皮肤,但如果来自英国的用户访问商店,则URL因为css,js和images正在尝试重写为root/ukstore/skin

这是我的htaccess文件在root/store中的代码.每个商店也有自己的htaccess文件,但没有太多.

<IfModule mod_geoip.c>
GeoIPEnable On

Options +FollowSymLinks
RewriteEngine on
#skip processing directories
RewriteRule ^store/skin/  - [L,NC]
RewriteRule ^store/media/  - [L,NC]
RewriteRule ^store/js/  - [L,NC]

RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(AQ|AU|MY|BV|BN|BN|MM|KH|CN|CX|CC|CK|GQ|FJ|PF|GU|GW|HM|HK|ID|KI|KR|KP|KR|LA|MO|MY|MH|FM|MM|NR|NC|PG|NZ|NU|NF|PG|CN|PH|PN|WS|SG|SB|KR|LK|BN|TW|TW|AU|TH|TL|TK|TO|TV|VU|VN|VN|WF)$
RewriteCond %{REQUEST_URI} ^/store(/.*)$ [NC]
RewriteRule ^ /austore%1 [L,R]

#UK Store Rewrites
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(AF|AX|AL|DZ|AD|AO|AM|AT|AZ|BH|BD|IS|BY|BE|BJ|BT|BA|BW|IO|BG|BF|BI|GB|CM|ES|CV|CF|TD|GB|KM|CG|CD|CG|CD|CI|HR|CY|CZ|CZ|BJ|DK|DJ|EG|ER|EE|ET|FO|FI|FR|TF|GA|GM|GE|DE|GH|GI|GD|GR|GL|GN|VA|HU|IS|IN|IR|IR|IQ|IE|IL|IT|CI|JO|KZ|KE|KW|KG|LV|LB|LS|LR|LY|LY|LI|LT|LU|MK|MG|MW|MV|ML|MT|MR|MU|MC|MC|MN|ME|MA|MZ|NA|NP|NL|NE|NG|IE|NO|OM|PK|PS|PS|CG|PL|PT|QA|CI|MK|ZA|CD|RE|RO|RU|RW|SH|SM|ST|SA|SN|RS|SC|SL|SK|SI|SO|SO|ZA|ES|SD|SJ|SZ|SE|CH|SY|SY|TJ|TZ|TN|TR|TM|AE|UG|UA|AE|GB|BF|UZ|VA|GB|EH|YE|ZM|ZW)$
RewriteCond %{REQUEST_URI} ^/store(/.*)$ [NC]
RewriteRule ^ /ukstore%1 [L,R]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

apache .htaccess mod-rewrite url-rewriting geoip

14
推荐指数
1
解决办法
2251
查看次数

如何提高BigQuery中GeoIP查询的性能?

我已经在BigQuery中加载了我的应用程序日志,我需要根据这些日志中的IP地址计算国家/地区.

我在我的表和从MaxMind下载的GeoIP映射表之间编写了一个连接查询.

理想的查询将OUTER JOIN使用范围过滤器,但BQ=在连接条件下支持.因此查询执行INNER JOIN并处理每一侧的缺失值JOIN.

我修改了原始查询,因此可以在维基百科公共数据集上运行.

有人可以帮助我让这个跑得更快吗?

SELECT id, client_ip, client_ip_code, B.Country_Name as Country_Name

FROM
    (SELECT id, contributor_ip as client_ip, INTEGER(PARSE_IP(contributor_ip)) AS client_ip_code, 1 AS One
    FROM [publicdata:samples.wikipedia] Limit 1000) AS A1

JOIN 
    (SELECT From_IP_Code, To_IP_Code, Country_Name, 1 AS One
    FROM

        -- 3 IP sets: 1.valid ranges, 2.Gaps, 3. Gap at the end of the set
        -- all Ranges of valid IPs:
        (SELECT From_IP_Code, To_IP_Code, Country_Name FROM [QA_DATASET.GeoIP]) …
Run Code Online (Sandbox Code Playgroud)

performance geoip google-bigquery

11
推荐指数
2
解决办法
3931
查看次数