PHP 只允許指定IP訪問(wèn)(允許*號(hào)通配符過(guò)濾IP)
核心函數(shù)代碼如下:
/** * 檢測(cè)訪問(wèn)的ip是否為規(guī)定的允許的ip * Enter description here ... */ function check_ip(){ $ALLOWED_IP=array('192.168.2.*','127.0.0.1','192.168.2.49'); $IP=getIP(); $check_ip_arr= explode('.',$IP);//要檢測(cè)的ip拆分成數(shù)組 #限制IP if(!in_array($IP,$ALLOWED_IP)) { foreach ($ALLOWED_IP as $val){ if(strpos($val,'*')!==false){//發(fā)現(xiàn)有*號(hào)替代符 $arr=array();// $arr=explode('.', $val); $bl=true;//用于記錄循環(huán)檢測(cè)中是否有匹配成功的 for($i=0;$i<4;$i++){ if($arr[$i]!='*'){//不等于* 就要進(jìn)來(lái)檢測(cè),如果為*符號(hào)替代符就不檢查 if($arr[$i]!=$check_ip_arr[$i]){ $bl=false; break;//終止檢查本個(gè)ip 繼續(xù)檢查下一個(gè)ip } } }//end for if($bl){//如果是true則找到有一個(gè)匹配成功的就返回 return; die; } } }//end foreach header('HTTP/1.1 403 Forbidden'); echo "Access forbidden"; die; } } * 獲得訪問(wèn)的IP * Enter description here ... */ function getIP() { return isset($_SERVER["HTTP_X_FORWARDED_FOR"])?$_SERVER["HTTP_X_FORWARDED_FOR"] :(isset($_SERVER["HTTP_CLIENT_IP"])?$_SERVER["HTTP_CLIENT_IP"] :$_SERVER["REMOTE_ADDR"]); }
在需要檢測(cè)的地方 加上調(diào)用 check_ip(); 即可; 本函數(shù)提供只允許指定的IP訪問(wèn)文件,并提供IP中*號(hào)通配符 匹配多IP
- 用php代碼限制國(guó)內(nèi)IP訪問(wèn)我們網(wǎng)站
- PHP實(shí)現(xiàn)的限制IP投票程序IP來(lái)源分析
- php限制ip地址范圍的方法
- 用php來(lái)限制每個(gè)ip每天瀏覽頁(yè)面數(shù)量的實(shí)現(xiàn)思路
- php中限制ip段訪問(wèn)、禁止ip提交表單的代碼分享
- PHP中限制IP段訪問(wèn)、禁止IP提交表單的代碼
- php IP及IP段進(jìn)行訪問(wèn)限制的代碼
- 如何限制訪問(wèn)者的ip(PHPBB的代碼)
- 簡(jiǎn)單實(shí)現(xiàn)限定phpmyadmin訪問(wèn)ip的方法
- PHP禁止個(gè)別IP訪問(wèn)網(wǎng)站
- 禁止IP訪問(wèn)網(wǎng)站的多種方法分享(linux,php,nginx,apache)
- PHP實(shí)現(xiàn)限制IP訪問(wèn)的方法
相關(guān)文章
php ajax數(shù)據(jù)傳輸和響應(yīng)方法
今天小編就為大家分享一篇php ajax數(shù)據(jù)傳輸和響應(yīng)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08laravel 去掉index.php偽靜態(tài)的操作方法
今天小編就為大家分享一篇laravel 去掉index.php偽靜態(tài)的操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10php使用get和post傳遞數(shù)據(jù)出現(xiàn)414?Request-URI?Too?Large的原因分析及解決方案
Request-URI Too Large(請(qǐng)求URI過(guò)長(zhǎng))是一個(gè)HTTP錯(cuò)誤狀態(tài)碼,表示所發(fā)送的HTTP請(qǐng)求中的URI(統(tǒng)一資源標(biāo)識(shí)符)長(zhǎng)度超過(guò)了服務(wù)器能夠處理的限制,這篇文章主要介紹了php使用get和post傳遞數(shù)據(jù)出現(xiàn)414?Request-URI Too?Large的解決方案,需要的朋友可以參考下2023-08-08Thinkphp5框架實(shí)現(xiàn)獲取數(shù)據(jù)庫(kù)數(shù)據(jù)到視圖的方法
這篇文章主要介紹了Thinkphp5框架實(shí)現(xiàn)獲取數(shù)據(jù)庫(kù)數(shù)據(jù)到視圖的方法,涉及thinkPHP5數(shù)據(jù)庫(kù)配置、讀取、模型操作及視圖調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2019-08-08從ThinkPHP3.2.3過(guò)渡到ThinkPHP5.0學(xué)習(xí)筆記圖文詳解
這篇文章主要介紹了從ThinkPHP3.2.3過(guò)渡到ThinkPHP5.0學(xué)習(xí)筆記,結(jié)合圖文形式詳細(xì)分析了thinkPHP3.2.3框架開(kāi)發(fā)過(guò)渡到thinkPHP5.0框架的區(qū)別與改進(jìn)方法,需要的朋友可以參考下2019-04-04Smarty模板常見(jiàn)的簡(jiǎn)單應(yīng)用分析
這篇文章主要介紹了Smarty模板常見(jiàn)的簡(jiǎn)單應(yīng)用,結(jié)合實(shí)例形式分析了Smarty模板的引入、創(chuàng)建、設(shè)置及相關(guān)的常見(jiàn)使用技巧,需要的朋友可以參考下2016-11-11PHP數(shù)據(jù)庫(kù)鏈接類(lèi)(PDO+Access)實(shí)例分享
這篇文章主要介紹了PHP數(shù)據(jù)庫(kù)鏈接類(lèi)(PDO+Access),有需要的朋友可以參考一下2013-12-12