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 目录遍历、删除 函数的使用介绍
Apr 28 PHP
php 模拟POST提交的2种方法详解
Jun 17 PHP
php inc文件使用的风险和注意事项
Nov 12 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
Jun 26 PHP
两千行代码的PHP学习笔记汇总
Oct 05 PHP
浅谈PHP解析URL函数parse_url和parse_str
Nov 11 PHP
thinkphp缓存技术详解
Dec 09 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
Jun 13 PHP
php类自动装载、链式操作、魔术方法实现代码
Jul 23 PHP
PHP有序表查找之二分查找(折半查找)算法示例
Feb 09 PHP
PHP通过文件路径获取文件名的实例代码
Oct 14 PHP
常见的5个PHP编码小陋习以及优化实例讲解
Feb 27 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防注入代码
2010/04/07 PHP
eclipse php wamp配置教程
2016/06/30 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
Javascript的闭包
2009/12/31 Javascript
js修改input的type属性问题探讨
2013/10/12 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
ie下$.getJSON出现问题的解决方法
2014/02/12 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
2015/05/06 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
webpack2.0配置postcss-loader的方法
2017/08/17 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
2018/09/27 Javascript
VueJS 组件参数名命名与组件属性转化问题
2018/12/03 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
[01:52]2020年DOTA2 TI10夏季活动预告片
2020/07/15 DOTA
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
用Python实现协同过滤的教程
2015/04/08 Python
python 专题九 Mysql数据库编程基础知识
2017/03/16 Python
python实现折半查找和归并排序算法
2017/04/14 Python
python利用微信公众号实现报警功能
2018/06/10 Python
Python并发之多进程的方法实例代码
2018/08/15 Python
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
keras获得model中某一层的某一个Tensor的输出维度教程
2020/01/24 Python
解决Keras 与 Tensorflow 版本之间的兼容性问题
2020/02/07 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
小学教师教学反思
2016/02/24 职场文书