PHPIN.NET

 找回密码
 立即注册
查看: 5115|回复: 0

[高级进阶] PHP判断来访国内外IP

[复制链接]

469

主题

31

回帖

5507

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5507
发表于 2014-8-11 09:53:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
PHP判断来访国内外IP
本文关键字词:IP判断,PHP判断IP,浏览器判断


1. Javascript判断来访者的浏览器语言,如果是中文系统,自然使用者都是中国人,跳中文网站;如果是非中文系统,默认使用者非中国人,跳英文网站。
优点:判断反映速度快。
缺点:不准确,有可能中国用户喜欢用英文版系统,或者外国人使用中文系统的情况。


<script>
var Browser_Agent = navigator.userAgent;//浏览器为ie的情况
if(Browser_Agent.indexOf("MSIE")!=-1){
var a=navigator.browserLanguage;
if(a !="zh-cn"){
location.href="英文网站";
document.write("国外IP");
} else
document.write("国内IP");
} else{
var b=navigator.language;//浏览器非ie的情况
if(b!="zh-CN"){
location.href="英文网站";
document.write("国外IP");
} else
document.write("国内IP");
}
</script>



2.使用IP库来进行来访IP的判断
优点:判断准确。
缺点:响应速度没Javascript快。
需要引用一个PHP的IP库:ip.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('国内IP');        
}else {
alert('国外IP');
//location.href="英文网站";
}
},
complete:function(XMLHttpRequest,textStatus) {
},
error:function() {
}
});
}
</script>
<body  onload="initurl()">
</body>  


checkip.php

<?php
$userip=$_SERVER['REMOTE_ADDR'];
include_once('lib/iplimit.class.php');//引用ip库的文件 把ip.zip里的全部文件放在lib目录下
$iplimit = new iplimit;
if($iplimit->setup($userip)){
echo 1;
}else{
echo 2;
}
?>
两种方法都可以完美实现判断来访IP,选择哪种就看你的具体需求了。

需求附件:
PHP判断来访国内外IP.zip (22.43 KB, 下载次数: 372)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|PHPIN.NET ( 冀ICP备12000898号-14 )|网站地图

GMT+8, 2024-4-19 06:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表