我找到了一些建议谷歌AJAX API的例子.
此链接代表了我迄今为止发现的建议:http://briancray.com/2009/05/29/find-web-visitors-location-javascript-google-api/
但是,Google API的位置通常是错误的.
其他网站似乎确切地知道我在哪个城市,但没有我输入任何信息.
建议?是否有跨浏览器(忽略IE6)和可靠的东西?
我找了又找,还是找不到 GeoIP 的 C++ 版本。我知道它有一个 C 版本,但我似乎无法让它与 Micosoft Visual Studio 2012 C++ 一起使用
我努力了:
所以,
对所有问题感到抱歉,但我看了又看,似乎找不到解决方案。
我想知道是否有办法找到历史地理位置的IP信息?我能找到的所有内容都讨论了当前的数据,但我一直无法找到任何方法来查询服务或数据库,例如,从几年前查找有关IP的信息.
我发现这篇题为"如何执行历史IP地理定位查找"的文章,它确实提到maxmind是一个潜在的工具,availability of historical versions但它没有提到如何访问这些数据.
通过maxmind api文档查看我似乎无法找到按日期查询的任何方法.
如何才能在过去的某个时间找到知识产权的位置?(没有必要提供极高的准确性,例如2012年查找此IP地址的国家/地区)
已经有另一个关于这个的主题没有真正回答:
在 Maxmind 工作的 Greg Oschwald 表示,“遗留 GeoIP 构建 (.dat) 不会在不久的将来消失”。是的,但未来就是现在,它们将于 2018 年 4 月 1 日消失,也就是一个月后;) 我真的很喜欢我目前使用 mod_geoip2 和 GeoIP .dat-Databases 的 Apache 配置 (Debian)。奇迹般有效。所以现在改变一切有点烦人。特别是因为没有像 mod-geoip2 这样的原生 Apache-Module 可以使用,但我必须从源代码构建一个模块,安装库并弄乱我的整个 apache-config 以启用 apxs。而且我没有通过存储库自动更新新模块,但必须在新库和新 tarball 可用时手动更新它。这不是很方便。
好吧,我可以下载 CSV 版本,使用 Maxminds 提供的 CSV 转换器(https://github.com/maxmind/geoip2-csv-converter/releases)添加 IP 范围编写一个脚本来转换一堆 csv-将文件转换为单个“Legacy-Like”csv 文件并使用 Debian 程序(https://github.com/dankamongmen/sprezzos-world/blob/master/packaging/geoip/debian/src/geoip-csv- to-dat.cpp ) 到 .dat 文件。>也许<这可以工作一段时间。但它非常丑陋。没有更好的解决办法吗?
如果不是:Debian 存储库中是否会有一个本地 Apache 模块删除“自己构建/安装”部分?那么我对新格式没有任何问题。
每日问候
我想收集登录我的网站的用户的国家/地区名称。所以我用了
geoip_country_name_by_name()php 函数就是为了这个目的。
但我遇到了一个致命错误:
Fatal error: Call to undefined function geoip_country_name_by_name()
Run Code Online (Sandbox Code Playgroud)
我怎样才能避免这个错误?
还有其他方法使用 php 获取国家/地区名称吗?
有人能帮助我吗?
我试图了解发生了什么事。如果我使用以下命令将单个 IP 添加到我的黑名单中
Require not ip xxx.xxx.xxx.xxx
Run Code Online (Sandbox Code Playgroud)
它正常工作,Apache 2.4 抛出 403。现在我尝试使用整个范围,它仍然让请求通过。我用了:
Require not ip xxx.xxx.xxx.1 xxx.xxx.xxx.255
Run Code Online (Sandbox Code Playgroud)
Apache 2.4 返回 200 而不是 403。我做错了什么?
谢谢
编辑:这是来自我的本地网络的一个简单的测试用例。
Require not ip 192.168.1.180/192.168.1.185
Run Code Online (Sandbox Code Playgroud)
使用ip 192.168.1.183的计算机,并且完全没有被阻止。
这是我的 httpd.conf,ips 位于单独的 blacklist.txt 中。它也适用于单个 IP,问题仅与IP范围有关。
<Directory "f:/root">
Options Indexes FollowSymLinks
AllowOverride All
<LimitExcept GET POST HEAD>
</LimitExcept>
<RequireAll>
Require all granted
Include conf/blacklist.txt
</RequireAll>
</Directory>
Run Code Online (Sandbox Code Playgroud)
Edit2:做了另一个测试,问题似乎来自使用黑名单+ GEOIP。黑名单单独适用于 xxx.xxx.xxx.0/xxx.xxx.xxx.255,但一旦 mod_geoip 处于活动状态,黑名单就会被忽略。
这是我的 GEOIP 配置:
<IfModule geoip_module>
GeoIPEnable On
GeoIPEnableUTF8 On
GeoIPOutput Env
GeoIPScanProxyHeaders On …Run Code Online (Sandbox Code Playgroud) 安装 geoip 时出现依赖冲突。我可以安装 geoip-database 和 geoip-database-extra 包,或者 geoip-database-contrib。我没有注意到它们之间有任何区别,两者都工作正常,正如你在这里看到的那样
那么,它们之间有什么区别吗?哪一个更可取?
在 GeoLite2 国家数据库中,有人知道是否可以在任何地方找到两个字符国家/组织代码的列表或它使用的来源是什么?
我正在使用 maxmind 节点模块与 maxmind 数据库交互。我想要实现的是获取特定州/国家下所有城市的列表。代码如下。
var maxmind = require('maxmind');
maxmind.open('/path/to/GeoLite2-City.mmdb', (err, cityLookup) => {
var city = cityLookup.get('66.6.44.4');
});
Run Code Online (Sandbox Code Playgroud)
我认为没有一个选项可以列出州名称下的所有城市。或通过州/国家名称搜索数据库。还有其他选择吗?