php 来访国内外IP判断代码并实现页面跳转

 更新时间:2009年12月18日 02:31:26   投稿:mdxy-dxy  
最近做了公司网站的一个需求:按来访人的IP来判断他是进中文网站还是英文网站。

我大概构思了一下,有两个方案:

1. Javascript判断来访者的浏览器语言,如果是中文系统,自然使用者都是中国人,跳中文网站;

如果是非中文系统,默认使用者非中国人,跳英文网站。

优点:判断反映速度快。
缺点:不准确,有可能中国用户喜欢用英文版系统,或者外国人使用中文系统的情况。

代码

<script type="text/javascript" language="javascript"> 
var Browser_Agent=navigator.userAgent; 
//浏览器为ie的情况 
if(Browser_Agent.indexOf("MSIE")!=-1){ 
var a=navigator.browserLanguage; 
if(a !="zh-cn"){ 
location.href="英文网站"; 
} 
} 
//浏览器非ie的情况 
else{ 
var b=navigator.language; 
if(b!="zh-CN"){ 
location.href="英文网站"; 
} 
} 
</script>

2.使用IP库来进行来访IP的判断

优点:判断准确。
缺点:响应速度没Javascript快。
需要引用一个PHP的IP库 ip_php.zip
我在网站头部引用jquery进行判断

<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script> 
<script type="text/javascript" language="javascript"> 
function initurl() { 
$.ajax({ 
type:"GET", 
url:"checkip.php", 
dataType:"html", 
data:"&time="+new Date(), 
cache: false, 
async: false, 
beforeSend:function(XMLHttpRequest) { 
}, 
success:function(msg) { 
//如果返回值为1表示访问者为中国地区的ip 
if(msg == 1){ 
//alert('I am China ip'); 
} 
else { 
//alert('I am not China ip'); 
location.href="英文网站"; 
} 
}, 
complete:function(XMLHttpRequest,textStatus) { 
}, 
error:function() { 
} 
}); 
} 
</script> 
<body onload="initurl()"> 
... 
</body> 

checkip.php页面的代码:

$userip=$_SERVER['REMOTE_ADDR']; 
//引用ip库的文件 把ip.zip里的全部文件放在lib目录下 
include_once('/lib/iplimit.class.php'); 
$iplimit = new iplimit; 
if($iplimit->setup($userip)) 
{ 
echo 1; 
} 
else 
{ 
echo 2; 
} 

两种方法都可以完美实现判断来访IP,选择哪种就看你的具体需求了。

相关文章

  • PHP单例模式定义与使用实例详解

    PHP单例模式定义与使用实例详解

    这篇文章主要介绍了PHP单例模式定义与使用,结合具体数据库操作类的形式较为详细的分析了php单例模式的功能、定义、使用方法与相关注意事项,需要的朋友可以参考下
    2017-02-02
  • 在html文件中也可以执行php语句的方法

    在html文件中也可以执行php语句的方法

    这篇文章主要介绍了在html文件中也可以执行php语句的方法,需要的朋友可以参考下
    2015-04-04
  • php实现网页缓存的工具类分享

    php实现网页缓存的工具类分享

    本文给大家分享的是php实现网页缓存的工具类的代码及使用方法,非常的实用,有需要的小伙伴可以参考下。
    2015-07-07
  • php上传图片客户端和服务器端实现方法

    php上传图片客户端和服务器端实现方法

    这篇文章主要介绍了php上传图片客户端和服务器端实现方法,涉及php操作文件的技巧,涉及图片后缀验证、文件重命名等常用方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • php实现博客,论坛图片防盗链的方法

    php实现博客,论坛图片防盗链的方法

    这篇文章主要介绍了php实现博客,论坛图片防盗链的方法,涉及php字符串结合session判定图片的相关操作技巧,需要的朋友可以参考下
    2016-10-10
  • PHP实现Soap通讯的方法

    PHP实现Soap通讯的方法

    这篇文章主要介绍了PHP实现Soap通讯的方法,是web service的一个典型应用,需要的朋友可以参考下
    2014-11-11
  • PHP 一个页面执行时间类代码

    PHP 一个页面执行时间类代码

    PHP教程之一个页面执行时间类,需要的朋友可以参考下
    2010-03-03
  • 新安装的MySQL数据库需要注意的安全知识

    新安装的MySQL数据库需要注意的安全知识

    在你自己安装了一个新的MySQL服务器后,你需要为MySQL的root用户指定一个目录(缺省无口令),否则如果你忘记这点,你将你的MySQL处于极不安全的状态(至少在一段时间内)。
    2008-07-07
  • 详解php协程知识点

    详解php协程知识点

    本篇文章给大家分享了关于PHP协程的相关知识点内容,有需要的朋友们可以学习参考下。
    2018-09-09
  • 浅析PHP中Session可能会引起并发问题

    浅析PHP中Session可能会引起并发问题

    关于PHP session并发问题估计各大程序员都不会想到这个问题,因为一般情况我们不会使用session来做并发操作了,但有时也有可能用到,今天我们就来简单谈谈这个略微偏门的问题
    2015-07-07

最新评论