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 中include()与require()的对比
Oct 09 PHP
php下用cookie统计用户访问网页次数的代码
May 09 PHP
php实现rc4加密算法代码
Apr 25 PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
Jul 04 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
Jul 05 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
Aug 21 PHP
PHP中常用的字符串格式化函数总结
Nov 19 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
Jun 15 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
Mar 22 PHP
PHP进阶学习之反射基本概念与用法分析
Jun 18 PHP
JS操作XML中DTD介绍及使用方法分析
Jul 04 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 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的远程图片抓取函数分享
2013/09/25 PHP
PHP的引用详解
2015/02/22 PHP
py文件转exe时包含paramiko模块出错解决方法
2016/08/12 PHP
tp5(thinkPHP5)框架连接数据库的方法示例
2018/12/24 PHP
PHP验证类的封装与使用方法详解
2019/01/10 PHP
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
javascript 日期相减-在线教程(附代码)
2017/08/17 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
vue中axios请求的封装实例代码
2019/03/23 Javascript
js canvas实现星空连线背景特效
2019/11/01 Javascript
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
[42:27]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第三局
2016/03/05 DOTA
Python环境变量设置方法
2016/08/28 Python
使用Python的package机制如何简化utils包设计详解
2017/12/11 Python
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
django项目搭建与Session使用详解
2018/10/10 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
python实现猜拳小游戏
2020/04/05 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
django API 中接口的互相调用实例
2020/04/01 Python
HTML5新增form控件和表单属性实例代码详解
2019/05/15 HTML / CSS
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
中专毕业自我鉴定
2013/10/16 职场文书
厨师长岗位职责范本
2014/08/25 职场文书
单位法定代表人授权委托书
2014/09/20 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
2014年工人工作总结
2014/11/25 职场文书
2015庆祝七一建党节94周年活动总结
2015/03/20 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL