PHP 只允許指定IP訪問(wèn)(允許*號(hào)通配符過(guò)濾IP)
更新時(shí)間:2014年07月08日 23:50:09 投稿:mdxy-dxy
今天有朋友問(wèn)我如何只允許指定IP訪問(wèn),默認(rèn)禁止其它ip訪問(wèn),腳本之家小編以前分享的是如何限制指定ip訪問(wèn),這里正好分享下,需要的朋友可以參考下
核心函數(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 將bmp圖片轉(zhuǎn)為jpg等其他任意格式的圖片
有時(shí)候我們需要將bmp格式的圖片轉(zhuǎn)換為jpg或gif等格式,大家就可以參考下下面的代碼。2009-06-06
yii2利用自帶UploadedFile實(shí)現(xiàn)上傳圖片的示例
本篇文章主要介紹了yii2利用自帶UploadedFile實(shí)現(xiàn)上傳圖片的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
PHP依賴倒置(Dependency Injection)代碼實(shí)例
這篇文章主要介紹了PHP依賴倒置(Dependency Injection)代碼實(shí)例本文只提供實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-10-10
Zend Framework入門教程之Zend_Mail用法示例
這篇文章主要介紹了Zend Framework中Zend_Mail用法,結(jié)合實(shí)例形式分析了Zend Framework中Zend_Mail組件的功能、使用步驟與相關(guān)操作技巧,需要的朋友可以參考下2016-12-12

