這篇文章主要介紹php禁止一個地區(qū)ip的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了三原免費建站歡迎大家使用!
php禁止一個地區(qū)的實現(xiàn)方法:首先用一個變量保存訪客的IP地址;然后從外界獲取IP地址的詳細信息;接著判斷是否在拒絕訪問的省份范圍內(nèi);最后做出相應(yīng)的響應(yīng)即可。
PHP 禁止某個地區(qū)的 IP
之前博客有禁止過 江蘇省 全省的 IP 訪問
在后端, 其實使用 PHP 去判斷來訪者的 IP 來源, 并且做出相應(yīng)的處理
實戰(zhàn)會用到 PHP 的一些常用語法 :
條件判斷
循環(huán)
數(shù)組
超全局變量
除此之外, 還會用到一些系統(tǒng)自帶的函數(shù)
接下來講述一下具體思路 :
1. 用一個變量保存訪客的 IP 地址
2. 從外界獲取 IP 地址的詳細信息
3. 判斷是否在拒絕訪問的省份范圍內(nèi)
4. 做出相應(yīng)的響應(yīng)
首先是保存訪客的 IP, 可以使用超全局變量 $_SERVER 獲取訪客的 IP 地址
$ip = $_SERVER['REMOTE_ADDR'];
用一個數(shù)組保存禁止訪問的省份
$verification = array("xx省", "xx省", ...);
使用淘寶 IP 庫, 將淘寶 IP 庫(省準確度超過 99.8%, 市準確度超過 96.8%)的頁面中所有的信息保存在一個字符串中
$result = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);
其中, file_get_contents() 函數(shù)將一個文件中的所有字符串保存在一個字符串中
在網(wǎng)頁中, PHP 顯示的是最終的代碼返回值, 而不是顯示 PHP 代碼, 這與前端有所不同
保存在字符串中的很難直接拿來比較, 所以要對字符串進行處理, 最好變成一個變量
$ipInformation = json_decode($result, true);
json_decode() 函數(shù)將一個 JSON 形式的字符串轉(zhuǎn)換為 PHP 變量, 這里是轉(zhuǎn)化為一個二維關(guān)聯(lián)數(shù)組
$address['data']['region'] 返回的就是 IP 的中文省份
最后用循環(huán)和條件判斷處理拒絕訪問
最后的代碼 :
其中, TODO 中就是你對于在范圍內(nèi)的 IP 如何處理, 例如可以直接 die(); 來禁止頁面顯示
以上是php禁止一個地區(qū)ip的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!