首頁  >  文章  >  後端開發  >  php如何判斷ip跳轉

php如何判斷ip跳轉

藏色散人
藏色散人原創
2020-09-27 14:49:522509瀏覽

php判斷ip跳轉的方法:先把「ip.zip」裡的全部檔案放在lib目錄下;然後透過「if($iplimit->setup($userip)){.. .}”方式實現判斷ip跳轉即可。

php如何判斷ip跳轉

推薦:《PHP影片教學

php 來訪國內外IP判斷程式碼並實作頁面跳轉

最近做了公司網站的一個需求:依照來訪者的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(&#39;I am China ip&#39;); 
} 
else { 
//alert(&#39;I am not China ip&#39;); 
location.href="英文网站"; 
} 
}, 
complete:function(XMLHttpRequest,textStatus) { 
}, 
error:function() { 
} 
}); 
} 
</script> 
<body οnlοad="initurl()"> 
... 
</body>

checkip.php頁面的程式碼:

$userip=$_SERVER[&#39;REMOTE_ADDR&#39;]; 
//引用ip库的文件 把ip.zip里的全部文件放在lib目录下 
include_once(&#39;/lib/iplimit.class.php&#39;); 
$iplimit = new iplimit; 
if($iplimit->setup($userip)) 
{ 
echo 1; 
} 
else 
{ 
echo 2; 
}

兩種方法都可以完美實現判斷來訪IP,選擇哪一種就看你的具體需求了。 

以上是php如何判斷ip跳轉的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn