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


Posted in PHP onDecember 18, 2009

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

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扩展图文教程
Dec 12 PHP
百度地图API应用之获取用户的具体位置
Jun 10 PHP
php操作csv文件代码实例汇总
Sep 22 PHP
PHP图片自动裁切应付不同尺寸的显示
Oct 16 PHP
php输出指定时间以前时间格式的方法
Mar 21 PHP
php实现scws中文分词搜索的方法
Dec 25 PHP
PHP创建/删除/复制文件夹、文件
May 03 PHP
PHP图片水印类的封装
Jul 06 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
PHP闭包定义与使用简单示例
Apr 13 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
Aug 15 PHP
php双向队列实例讲解
Nov 17 PHP
php jquery 实现新闻标签分类与无刷新分页
Dec 18 #PHP
PHP XML操作类DOMDocument
Dec 16 #PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
Dec 16 #PHP
php生成xml简单实例代码
Dec 16 #PHP
PHP 基本语法格式
Dec 15 #PHP
php遍历目录viewDir函数
Dec 15 #PHP
php csv操作类代码
Dec 14 #PHP
You might like
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
PHP的Yii框架中过滤器相关的使用总结
2016/03/29 PHP
Laravel学习教程之model validation的使用示例
2017/10/23 PHP
php 中phar包的使用教程详解
2018/10/26 PHP
图像替换新技术 状态域方法
2010/01/28 Javascript
JS正则中的RegExp对象对象
2012/11/07 Javascript
javascript全局变量封装模块实现代码
2012/11/28 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
js触发select onchange事件的小技巧
2014/08/05 Javascript
JavaScript实现的一个日期格式化函数分享
2014/12/06 Javascript
深入探密Javascript数组方法
2015/01/08 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
2017/03/21 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
Vue实现简单计算器案例
2020/02/25 Javascript
[03:58]2014DOTA2国际邀请赛 龙宝赛后解密DK获胜之道
2014/07/14 DOTA
python写xml文件的操作实例
2014/10/05 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
如何在python中处理配置文件代码实例
2020/09/27 Python
Python定时任务框架APScheduler原理及常用代码
2020/10/05 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
英国著名的美容护肤和护发产品购物网站:Lookfantastic
2020/11/23 全球购物
企业军训感想
2014/02/07 职场文书
租房协议书范例
2014/10/14 职场文书
2014年中班下学期工作总结
2014/12/11 职场文书
护士岗前培训心得体会
2016/01/08 职场文书
goland 恢复已更改文件的操作
2021/04/28 Golang
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers
浅析CSS在DevTools 中架构演变
2021/10/05 HTML / CSS
微信小程序实现轮播图指示器
2022/06/25 Javascript