程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php 來訪國內外IP判斷代碼並實現頁面跳轉

php 來訪國內外IP判斷代碼並實現頁面跳轉

編輯:PHP綜合
我大概構思了一下,有兩個方案:
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,選擇哪種就看你的具體需求了。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved