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缓存技术介绍
Nov 25 PHP
php 字符转义 注意事项
May 27 PHP
PHP 数组遍历顺序理解
Sep 09 PHP
yii框架中的Url生产问题小结
Jan 16 PHP
PHP提交表单失败后如何保留已经填写的信息
Jun 20 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
Oct 24 PHP
php实现读取手机客户端浏览器的类
Jan 09 PHP
PHP实现链式操作的核心思想
Jun 23 PHP
PHP的全局错误处理详解
Apr 25 PHP
PHP合并数组的2种方法小结
Nov 24 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
Oct 30 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源代码
2006/10/09 PHP
PHP中feof()函数实例测试
2014/08/23 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
PHP 搜索查询功能实现
2016/11/29 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
2017/01/11 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
tp5 sum某个字段相加得到总数的例子
2019/10/18 PHP
jQuery 1.5 源码解读 面向中高阶JSER
2011/04/05 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
EasyUI学习之Combobox下拉列表(1)
2016/12/29 Javascript
详解vue2路由vue-router配置(懒加载)
2017/04/08 Javascript
微信小程序实战之自定义模态弹窗(8)
2017/04/18 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
使用Jenkins部署React项目的方法步骤
2019/03/11 Javascript
vue之延时刷新实例
2019/11/14 Javascript
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
关于Python面向对象编程的知识点总结
2017/02/14 Python
Python装饰器知识点补充
2018/05/28 Python
Python中GIL的使用详解
2018/10/03 Python
修改默认的pip版本为对应python2.7的方法
2018/11/06 Python
python3多线程知识点总结
2019/09/26 Python
基于python判断目录或者文件代码实例
2019/11/29 Python
关于pytorch中全连接神经网络搭建两种模式详解
2020/01/14 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
2019/07/22 HTML / CSS
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
电子商务专业个人的自我评价
2013/12/19 职场文书
学生手册家长评语
2014/02/10 职场文书
迎新生欢迎词
2015/01/23 职场文书
业务员年终工作总结2015
2015/05/28 职场文书
教你使用VS Code的MySQL扩展管理数据库的方法
2022/01/22 MySQL
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript