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长字符串定义方法
Jul 12 PHP
ThinkPHP模板替换与系统常量及应用实例教程
Aug 22 PHP
初识php MVC
Sep 10 PHP
php实现excel中rank函数功能的方法
Jan 20 PHP
php插入排序法实现数组排序实例
Feb 16 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
Apr 25 PHP
Laravel5.1自定义500错误页面示例
Oct 09 PHP
thinkphp下MySQL数据库读写分离代码剖析
Apr 18 PHP
php实现留言板功能(会话控制)
May 23 PHP
PHP框架laravel的.env文件配置教程
Jun 07 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
May 29 PHP
phpinfo的知识点总结
Oct 10 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中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
使用 MySQL Date/Time 类型
2008/03/26 PHP
php设计模式 Strategy(策略模式)
2011/06/26 PHP
php读取目录及子目录下所有文件名的方法
2014/10/20 PHP
yii2.0实现创建简单widgets示例
2016/07/18 PHP
详解php框架Yaf路由重写
2017/06/20 PHP
php定期拉取数据对比方法实例
2019/09/22 PHP
一句话JavaScript表单验证代码
2009/08/02 Javascript
学习js在线html(富文本,所见即所得)编辑器
2012/12/18 Javascript
javascript通过className来获取元素的简单示例代码
2014/01/10 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
2016/11/09 Javascript
详谈js原型继承的一些问题
2017/09/06 Javascript
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
JS实现前端路由功能示例【原生路由】
2020/05/29 Javascript
vue实现自定义多选按钮
2020/07/16 Javascript
谈谈JavaScript令人迷惑的==与+
2020/08/31 Javascript
小程序角标的添加及绑定购物车数量进行实时更新的实现代码
2020/12/07 Javascript
Python发送email的3种方法
2015/04/28 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
2017/07/17 Python
python3.6编写的单元测试示例
2019/08/17 Python
python设置环境变量的作用整理
2020/02/17 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
html5指南-6.如何创建离线web应用程序实现离线访问
2013/01/07 HTML / CSS
理肤泉加拿大官网:La Roche-Posay加拿大
2018/07/06 全球购物
编程用JAVA解析XML的方式
2013/07/07 面试题
司机辞职报告范文
2014/01/20 职场文书
推荐信怎么写
2014/05/09 职场文书
小学课外阅读总结
2014/07/09 职场文书
大专生自我鉴定怎么写
2014/09/16 职场文书
村主任“四风”问题个人整改措施
2014/10/04 职场文书
离婚协议书的范本
2015/01/27 职场文书
2015中秋节晚会主持词
2015/07/01 职场文书
施工安全协议书
2016/03/22 职场文书
win10+anaconda安装yolov5的方法及问题解决方案
2021/04/29 Python
vue @ ~ 相对路径 路径别名设置方式
2022/06/05 Vue.js