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 smarty模版引擎中变量操作符及使用方法
Dec 11 PHP
rrmdir php中递归删除目录及目录下的文件
May 15 PHP
PHP array_multisort()函数的使用札记
Jul 03 PHP
ajax php传递和接收变量实现思路及代码
Dec 19 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
Jun 24 PHP
destoon公司主页模板风格的添加方法
Jun 20 PHP
PHP和Mysql中转UTF8编码问题汇总
Oct 10 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
Mar 13 PHP
php微信开发之关注事件
Jun 14 PHP
PHP实现发送微博消息功能完整示例
Dec 04 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
Dec 20 PHP
利用ajax+php实现商品价格计算
Mar 31 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实现递归复制整个文件夹的类实例
2015/08/03 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
javascript 有用的脚本函数
2009/05/07 Javascript
js 编程笔记 无名函数
2011/06/28 Javascript
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
2014/12/08 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
javascript和jquery实现用户登录验证
2016/05/04 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
three.js 将图片马赛克化的示例代码
2020/07/31 Javascript
[47:20]DAC2018 4.4 淘汰赛 Optic vs Mineski 第一场
2018/04/05 DOTA
python添加模块搜索路径方法
2017/09/11 Python
详解python的argpare和click模块小结
2019/03/31 Python
pandas.DataFrame的pivot()和unstack()实现行转列
2019/07/06 Python
tensorflow 获取所有variable或tensor的name示例
2020/01/04 Python
python中id函数运行方式
2020/07/03 Python
Python将字典转换为XML的方法
2020/08/01 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
纯CSS改变webkit内核浏览器的滚动条样式
2014/04/17 HTML / CSS
html5 迷宫游戏(碰撞检测)实例一
2013/07/25 HTML / CSS
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
医德医风自我评价
2014/09/19 职场文书
2014学校领导四风对照检查材料思想汇报
2014/09/23 职场文书
高三毕业评语
2014/12/31 职场文书
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
2021/05/27 Python
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android