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

來源:互聯網
上載者:User

我大概構思了一下,有兩個方案:
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,選擇哪種就看你的具體需求了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.