Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的IP地址的Maxmind GeoIP重定向异常_Javascript_Geoip_Maxmind - Fatal编程技术网

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

Javascript 我的IP地址的Maxmind GeoIP重定向异常,javascript,geoip,maxmind,Javascript,Geoip,Maxmind,我是一家加拿大公司。我有我的主网站,所有产品以美元计价,但使用此重定向,来自加拿大的任何流量都将重定向到我的另一个镜像网站,其中所有产品的价格均以CND$计价 这是我在使用Maxmind GeoIP Lite的美国网站页面头部使用的脚本。它工作得很好 <script language="JavaScript" src="http://j.maxmind.com/app/country.js" type="text/javascript"></script> <sc

我是一家加拿大公司。我有我的主网站,所有产品以美元计价,但使用此重定向,来自加拿大的任何流量都将重定向到我的另一个镜像网站,其中所有产品的价格均以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中,您可以使用$\u服务器['REMOTE\u ADDR']获取IP。 要获取javascript中的远程IP,请参阅

我建议采用以下解决方案: 安装允许您设置或取消设置cookie的脚本:有关文档,请参见此处:

我可能会将检查转移到服务器端,但如果失败,请给出一个基于cookie jQuery的示例

if(geoip_country_code() == "CA" && $.cookie('pretendimamerican') === null) { 
  //Redirect
}
然后给你自己那个cookie,或者制作一个秘密的URL来为你设置它。这样,无论您的IP如何,您都可以使用它,并且可以轻松地将其发送给同事。很明显,您的实现不是一个安全问题,而是一个价格展示问题,所以我不担心人们伪造它,因为这些人可以很容易地禁用您现在拥有的功能

另一方面,如果您的测试变得更高级,我将成立一家公司,帮助人们使用代理测试他们的GeoIP应用程序: