我的 IP 地址的 Maxmind GeoIP 重定向异常



我是一家加拿大公司。我的主要网站包含所有产品,但随后使用此重定向,来自加拿大的任何流量都会重定向到我的另一个镜像网站,其中所有产品均以 CND$ 定价。

这是我在美国网站页面的头部使用Maxmind GeoIP Lite的脚本。它工作得很好。

<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 或位置重定向我?我已经用谷歌搜索过它,但没有遇到过这样的事情。很想找到解决这个问题的方法。谢谢。

您可以使用服务器端代码根据 IP 有选择地输出脚本,也可以使用像 Charles Proxy 这样的工具将您自己的脚本替换为包含硬编码"这是美国"数据的http://j.maxmind.com/app/country.js

在 php 中,您可以使用 $_SERVER['REMOTE_ADDR'] 来获取您的 IP。要在 javascript 中获取远程 IP,请参阅如何仅使用javascript获取客户端的IP地址?

我建议以下解决方案:安装允许您设置或取消设置 cookie 的脚本:请参阅此处以获取文档:http://www.markusnordhaus.de/2012/01/20/using-cookies-in-javascript-part-1/

我可能会将检查转移到服务器端,但失败了,给自己一个cookie(基于jQuery的示例)。

if(geoip_country_code() == "CA" && $.cookie('pretendimamerican') === null) { 
  //Redirect
}

然后给自己那个cookie,或者制作一个秘密URL来为你设置它。这样,无论您的IP如何,您都可以使用它,并轻松将其发送给同事。显然,您的实现不是安全性,而是价格演示,所以我不担心人们伪造它(因为这些人可以很容易地禁用您现在拥有的东西)。


与此相关的是,如果您的测试变得更高级,我创办了一家公司来帮助人们使用代理测试他们的GeoIP应用程序:https://wonderproxy.com/

相关内容

  • 没有找到相关文章

最新更新