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 06 PHP
PHP注释实例技巧
Oct 03 PHP
thinkPHP的Html模板标签使用方法
Nov 13 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
Jun 18 PHP
thinkphp数据查询和遍历数组实例
Nov 28 PHP
smarty实现多级分类的方法
Dec 05 PHP
用PHP代码给图片加水印
Jul 01 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
Feb 26 PHP
PHP多维数组元素操作类的方法
Nov 14 PHP
Laravel学习教程之IOC容器的介绍与用例
Aug 15 PHP
在 PHP 和 Laravel 中使用 Traits的方法
Nov 13 PHP
PHP var关键字相关原理及使用实例解析
Jul 11 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
php 伪造ip以及url来路信息方法汇总
2014/11/25 PHP
PHP无限极分类函数的实现方法详解
2017/04/15 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
2013/03/25 Javascript
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
原生JS实现拖拽图片效果
2020/08/27 Javascript
Jquery获取第一个子元素简单实例
2016/06/02 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
如何获取元素的最终background-color
2017/02/06 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
2017/08/03 Javascript
JS实现手写parseInt的方法示例
2017/09/24 Javascript
小程序hover-class点击态效果实现
2019/02/26 Javascript
ES6的异步终极解决方案分享
2019/07/11 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
js实现左右轮播图
2020/01/09 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
Python 的内置字符串方法小结
2016/03/15 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
Python进程间通信Queue消息队列用法分析
2019/05/22 Python
Python基础学习之时间转换函数用法详解
2019/06/18 Python
tensorflow之读取jpg图像长和宽实例
2020/06/18 Python
Python打印不合法的文件名
2020/07/31 Python
新加坡最受追捧的体验平台:Hapz
2018/01/01 全球购物
英国婴儿及儿童产品商店:TigerParrot
2019/03/04 全球购物
奥地利票务门户网站:oeticket.com
2019/12/31 全球购物
在Ajax应用中信息是如何在浏览器和服务器之间传递的
2016/05/31 面试题
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
考察现实表现材料
2014/05/19 职场文书
交通事故协议书范文
2014/10/23 职场文书
挂职锻炼个人总结
2015/03/05 职场文书
求职简历自我评价范文
2015/03/10 职场文书
研究生导师推荐信
2015/03/25 职场文书
寻找成龙观后感
2015/06/12 职场文书