php禁止一個地區的實現方法:先用一個變數保存訪客的IP位址;然後從外界取得IP位址的詳細資訊;接著判斷是否在拒絕存取的省份範圍內;最後做出對應的響應即可。
推薦:《PHP影片教學》
PHP 禁止某個地區的IP
之前部落格有禁止過江蘇省全省的IP 訪問
在後端, 其實使用PHP 去判斷來訪者的IP 來源, 並且做出相應的處理
#實戰會用到PHP 的一些常用語法:
除此之外, 還會用到一些系統自帶的函數接下來講述一下具體思路:1. 用一個變數保存訪客的IP 位址2. 從外界取得IP 位址的詳細資訊3. 判斷是否在拒絕存取的省份範圍內4. 做出對應的回應首先是保存訪客的IP, 可以使用超全域變數$_SERVER 取得訪客的IP 位址條件判斷
#循環
##數組超全域變數
$ip = $_SERVER['REMOTE_ADDR'];以陣列儲存禁止造訪的省份
$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() 函數將一個檔案中的所有字串保存在一個字串中在網頁中, PHP 顯示的是最終的程式碼回傳值, 而不是顯示PHP 程式碼, 這與前端有所不同保存在字串中的很難直接拿來比較, 所以要對字串進行處理, 最好變成一個變數
$ipInformation = json_decode($result, true);json_decode() 函數將一個JSON 形式的字串轉換為PHP 變數, 這裡是轉換為一個二維關聯陣列$address['data']['region'] 回傳的是IP 的中文省份最後用迴圈和條件判斷處理拒絕存取最後的程式碼:其中, TODO 中就是你對於在範圍內的IP 如何處理, 例如可以直接die(); 來禁止頁面顯示
以上是php如何禁止一個地區ip的詳細內容。更多資訊請關注PHP中文網其他相關文章!