php 局限某個(gè)IP訪問的完成方法
發(fā)表時(shí)間:2023-08-01 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]在設(shè)置局域網(wǎng)共享文件訪問權(quán)限的過程中,有時(shí)候我們會(huì)處于共享文件管理安全管理的需要,而禁止某個(gè)IP地址訪問局域網(wǎng)共享文件、禁止某臺(tái)電腦訪問服務(wù)器共享文件。這一方面可以通過設(shè)置共享文件夾的用戶訪問權(quán)限來...
在設(shè)置局域網(wǎng)共享文件訪問權(quán)限的過程中,有時(shí)候我們會(huì)處于共享文件管理
安全管理的需要,而禁止某個(gè)IP地址訪問局域網(wǎng)共享文件、禁止某臺(tái)電腦訪問服務(wù)器共享文件。這一方面可以通過設(shè)置共享文件夾的用戶訪問權(quán)限來實(shí)現(xiàn),比如我們可以禁止某個(gè)用戶訪問共享文件夾,但是有可能別人會(huì)將有權(quán)限訪問共享文件的用戶透漏給訪問者,使得訪問者利用其它賬號(hào)同樣可以訪問共享文件。那么,這種情況下,我們可以通過以下方法來阻止指定電腦訪問共享文件夾。
這篇文章主要介紹了PHP實(shí)現(xiàn)限制IP訪問的方法,涉及php針對(duì)客戶端IP的獲取、解析、遍歷、判斷等相關(guān)操作技巧,需要的朋友可以參考下
本文實(shí)例講述了PHP實(shí)現(xiàn)限制IP訪問的方法。分享給大家供大家參考,具體如下:
//獲取客戶端ip
if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if(getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if(getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else $ip = "Unknow";
$ALLOWED_IP=array('10.144.39.132');
//允許訪問的ip
$check_ip_arr= explode('.',$ip);
//ip參數(shù)拆分成數(shù)組
if(!in_array($ip,$ALLOWED_IP)) {
$bl=false;
foreach ($ALLOWED_IP as $val){
if(strpos($val,'*')!==false){
//發(fā)現(xiàn)有*號(hào)替代符
$arr=array();
$arr=explode('.', $val);
$bl=true;
//用于記錄循環(huán)檢測中是否有匹配成功的
for ($i=0;$i<4;$i++){
if($arr[$i]!='*'){
//不等于* 就要進(jìn)來檢測,如果為*符號(hào)替代符就不檢查
if($arr[$i]!=$check_ip_arr[$i]){
$bl=false;
break;
//終止檢查本個(gè)ip 繼續(xù)檢查下一個(gè)ip
}
}
}
//end for
if($bl){
//如果是true則終止匹配
break;
}
}
}
//end foreach
if(!$bl){
$return=array(
'status'=>2,
'msg'=>'該IP無權(quán)限訪問',
'data'=>$ip
);
echo json_encode($return);
exit();
}
}
以上就是php 限制某個(gè)IP訪問的實(shí)現(xiàn)方法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。