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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(1)
Oct 09 PHP
php empty函数 使用说明
Aug 10 PHP
PHP print类函数使用总结
Jun 25 PHP
PHP网站备份程序代码分享
Jun 10 PHP
多个PHP中文字符串截取函数
Nov 12 PHP
PHP防止post重复提交数据的简单例子
Jun 07 PHP
php生成唯一的订单函数分享
Feb 02 PHP
详解WordPress开发中的get_post与get_posts函数使用
Jan 04 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
Apr 04 PHP
php curl获取到json对象并转成数组array的方法
May 31 PHP
laravel实现上传图片并在页面显示的例子
Oct 14 PHP
Laravel + Elasticsearch 实现中文搜索的方法
Feb 02 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中使用Oracle数据库(5)
2006/10/09 PHP
mysql+php分页类(已测)
2008/03/31 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
php错误、异常处理机制(补充)
2012/05/07 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
解决laravel session失效的问题
2019/10/14 PHP
innerHTML 和 getElementsByName 在IE下面的bug 的解决
2010/04/09 Javascript
在JavaScript中获取请求的URL参数[正则]
2010/12/25 Javascript
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
JavaScript的漂亮的代码片段
2013/06/05 Javascript
javascript不可用的问题探究
2013/10/01 Javascript
JavaScript日期时间与时间戳的转换函数分享
2015/01/31 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
详解Vue自定义过滤器的实现
2017/01/10 Javascript
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
详解webpack-dev-server的简单使用
2018/04/02 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
Vuex 单状态库与多模块状态库详解
2018/12/11 Javascript
React 使用Hooks简化受控组件的状态绑定
2019/03/18 Javascript
ES6 Map结构的应用实例分析
2019/06/26 Javascript
解决layui下拉框监听问题(监听不到值的变化)
2019/09/28 Javascript
python+mysql实现教务管理系统
2019/02/20 Python
python利用Opencv实现人脸识别功能
2019/04/25 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
在Python中实现函数重载的示例代码
2019/12/12 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
浅谈优化Django ORM中的性能问题
2020/07/09 Python
python实现扫雷游戏的示例
2020/10/20 Python
五分钟学会怎么用Pygame做一个简单的贪吃蛇
2021/01/06 Python
Clarks鞋美国官网:全球领军鞋履品牌
2017/05/13 全球购物
中学老师的自我评价
2013/11/07 职场文书
幼儿园毕业典礼主持词
2014/03/21 职场文书
中学生家长评语大全
2014/04/16 职场文书
2014年优质护理服务工作总结
2014/11/14 职场文书
工伤劳动仲裁代理词
2015/05/25 职场文书