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

2015-01-24信息快讯网

最近做了公司网站的一个需求:按来访人的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,选择哪种就看你的具体需求了。
提高define性能的php扩展hidef的安装和使用
php学习笔记 php中面向对象三大特性之一[封装性]的应用
php学习笔记 面向对象的构造与析构方法
php学习笔记 类的声明与对象实例化
php学习笔记 PHP面向对象的程序设计
php下通过IP获取地理位置的代码(小偷程序)
PHP文件打开、关闭、写入的判断与执行代码
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
PHP中限制IP段访问、禁止IP提交表单的代码
PHP中输出转义JavaScript代码的实现代码
php产生随机数的两种方法实例代码 输出随机IP
WordPress判断用户是否登录的代码
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
php empty,isset,is_null判断比较(差异与异同)
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
php 上传文件类型判断函数(避免上传漏洞 )
php 计算两个时间戳相隔的时间的函数(小时)
php jquery 实现新闻标签分类与无刷新分页
PHP XML操作类DOMDocument
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
php生成xml简单实例代码
PHP 基本语法格式
将文件夹压缩成zip文件的php代码
php zip文件解压类代码
php 获取客户端的真实ip
php+javascript的日历控件
php后台程序与Javascript的两种交互方式
PHP 判断变量类型实现代码
PHP 判断常量,变量和函数是否存在
PHP 文件类型判断代码
php判断字符以及字符串的包含方法属性
常用的php对象类型判断
©2014-2024 dbsqp.com