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利用COM对象访问SQLServer、Access
Oct 09 PHP
php socket方式提交的post详解
Jul 19 PHP
PHP 多维数组排序实现代码
Aug 05 PHP
php simplexmlElement操作xml的命名空间实现代码
Jan 04 PHP
php在多维数组中根据键名快速查询其父键以及父键值的代码
May 07 PHP
smarty模板引擎基础知识入门
Mar 30 PHP
php ajax实现文件上传进度条
Mar 29 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
Jul 28 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
Jun 07 PHP
thinkphp5引入公共部分header、footer的方法详解
Sep 14 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
Oct 11 PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 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 socket通信简单实现
2016/11/18 PHP
PHP使用xpath解析XML的方法详解
2017/05/20 PHP
Nginx+php配置文件及原理解析
2020/12/09 PHP
js类型检查实现代码
2010/10/29 Javascript
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
js登录弹出层特效
2014/03/07 Javascript
jquery 表格排序、实时搜索表格内容(附图)
2014/05/19 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
Jquery 效果使用详解
2015/11/23 Javascript
如何处理JSON中的特殊字符
2016/11/30 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
jQuery实现的别踩白块小游戏完整示例
2019/01/07 jQuery
微信小程序如何实现在线客服功能
2019/10/16 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
详解python之简单主机批量管理工具
2017/01/27 Python
详解Python之数据序列化(json、pickle、shelve)
2017/03/30 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
python生成圆形图片的方法
2020/03/25 Python
详解pyqt5 动画在QThread线程中无法运行问题
2018/05/05 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
Python中函数的返回值示例浅析
2019/08/28 Python
Python列表推导式实现代码实例
2020/09/09 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
2020/12/29 Python
奥地利时尚、美容、玩具和家居之家:Kastner & Öhler
2020/04/26 全球购物
啤酒销售实习自我鉴定
2013/09/24 职场文书
新闻专业个人求职信
2013/12/19 职场文书
简历的个人自我评价范文
2014/01/03 职场文书
劲霸男装广告词改编版
2014/03/21 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
签字仪式主持词
2015/07/03 职场文书
热爱劳动主题班会
2015/08/14 职场文书
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS