当前位置: 首页 > 图文教程 > 网络编程 > PHP > php 来访国内外IP判断代码并实现页面跳转

PHP
php REMOTE_ADDR之获取访客IP的代码
编写漂亮的代码 - 将后台程序与前端程序分开
懒惰是金 介绍几个php通用的函数
追求程序速度,而不是编程的速度
使用PHP的日期与时间函数技巧
php格式化工具Beautify PHP小小BUG
php实现的简单压缩英文字符串的代码
php5数字型字符串加解密代码
awk简介与学习笔记收集
PHP开发框架总结收藏
Ajax PHP简单入门教程代码
php中文字母数字验证码实现代码
php SQL防注入代码
php xfocus防注入资料
用php+javascript实现二级级联菜单的制作
php adodb连接带密码access数据库实例,测试成功
删除及到期域名的查看(抢域名必备哦)
开源SNS系统-ThinkSNS
php循环输出数据库内容的代码
php读取数据库信息的几种方法

PHP 中的 php 来访国内外IP判断代码并实现页面跳转


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 226 ::
收藏到网摘: n/a

最近做了公司网站的一个需求:按来访人的IP来判断他是进中文网站还是英文网站。 我大概构思了一下,有两个方案:
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,选择哪种就看你的具体需求了。