我的 IP 地址的 Maxmind GeoIP 重定向异常
Posted
技术标签:
【中文标题】我的 IP 地址的 Maxmind GeoIP 重定向异常【英文标题】:Maxmind GeoIP redirect exception for my IP address 【发布时间】:2012-11-29 13:31:07 【问题描述】:我是一家加拿大公司。我有我的主要网站,所有产品都以美元计价,但随后使用此重定向,来自加拿大的任何流量都重定向到我的其他镜像网站,所有产品均以加元计价。
这是我使用 Maxmind GeoIP Lite 在我的美国网站页面的 HEAD 中使用的脚本。效果很好。
<script language="javascript" src="http://j.maxmind.com/app/country.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">// <![CDATA[
if(geoip_country_code() == "CA")
document.write("");
window.location = 'http://www.myCanadaianWebsite.com';
// ]]></script>
唯一的问题或烦人的事情是,由于我位于加拿大,因此我很难自己检查和测试美国网站。每次我想查看我的美国网站时,我都必须从我的美国网页中删除脚本。然后当我完成查找时将其重新粘贴回去。
有没有一种方法可以向我的脚本添加一个不会根据我的 IP 或位置重定向我的异常?我用谷歌搜索了它,没有遇到过类似的事情。很想找到解决这个问题的方法。 谢谢。
【问题讨论】:
【参考方案1】:您可以使用服务器端代码根据 IP 有选择地输出脚本,或者您可以使用 Charles Proxy 之类的工具将您自己的脚本替换为 http://j.maxmind.com/app/country.js
,该脚本在它。
【讨论】:
【参考方案2】:在 php 中,您可以使用 $_SERVER['REMOTE_ADDR'] 来获取您的 IP。 要在 javascript 中获取远程 IP,请参阅 How to get client's IP address using javascript only?
我建议改为以下解决方案: 安装允许您设置或取消设置 cookie 的脚本:请参阅此处获取文档: http://www.markusnordhaus.de/2012/01/20/using-cookies-in-javascript-part-1/
【讨论】:
【参考方案3】:我可能会将检查转移到服务器端,但如果失败,则会给自己一个 cookie(基于 jQuery 的示例)。
if(geoip_country_code() == "CA" && $.cookie('pretendimamerican') === null)
//Redirect
然后给自己那个 cookie,或者创建一个秘密 URL 来为你设置它。这样一来,无论您的 IP 是什么,您都可以使用它,并轻松地将其发送给同事。显然,您的实现不是安全问题,而是价格展示问题,所以我不担心人们会伪造它(因为这些人可以很容易地禁用您现在拥有的东西)。
在相关说明中,如果您的测试变得更高级,我成立了一家公司来帮助人们使用代理测试他们的 GeoIP 应用程序:https://wonderproxy.com/
【讨论】:
以上是关于我的 IP 地址的 Maxmind GeoIP 重定向异常的主要内容,如果未能解决你的问题,请参考以下文章