聯(lián)系官方銷(xiāo)售客服
1835022288
028-61286886
名稱(chēng) | IP白名單 |
版本號(hào) | V1.0 |
應(yīng)用編號(hào) | APP921 |
應(yīng)用類(lèi)型 | 插件 |
發(fā)布時(shí)間 | 2022-02-21 14:28:41 |
更新時(shí)間 | 2022-04-01 15:19:23 |
支持內(nèi)核 | CodeIgniter |
功能類(lèi)別 | 工具 安全 |
依賴(lài)場(chǎng)景 | 不依賴(lài)于任何插件 |
源碼加密 | 未加密 |
技術(shù)保障 | 第三方服務(wù)商 |
技術(shù)要求 | 需要掌握PHP、SQL、HTML、CSS、JS技術(shù) |
支持瀏覽器 | Chromium內(nèi)核瀏覽器、Chrome、Edge、Firefox、Safari、Opera等 |
功能介紹
安裝后通過(guò)設(shè)置ip白名單實(shí)現(xiàn)只允許指定IP訪(fǎng)問(wèn)后臺(tái)。
IP設(shè)置錯(cuò)誤后可以通過(guò)訪(fǎng)問(wèn):http://域名/index.php?s=iplist&c=home自動(dòng)授權(quán)當(dāng)前IP。
實(shí)現(xiàn)原理:通過(guò)后臺(tái)登陸之前鉤子來(lái)實(shí)現(xiàn)IP限制。
使用方法:后臺(tái)下載安裝后把下面的代碼添加到自定義鉤子文件(/config/hooks.php)中
\Phpcmf\Hooks::on('admin_login_before', function($post) { $cz = \Phpcmf\Service::M()->db->tableExists(\Phpcmf\Service::M()->dbprefix('iplist')); if($cz){ $rts = \Phpcmf\Service::M()->db->table('iplist')->where('status', 2)->countAllResults(); if($rts==0){ }else{ 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"; $rt = \Phpcmf\Service::M()->db->table("iplist")->where("status", "2")->select("ip")->get(); if ($rt) { $rows = $rt->getResultArray(); foreach ($rows as $t) { $array[] = $t['ip']; } } $iplists = $array; $ALLOWED_IP=$iplists; #$ALLOWED_IP=array('113.128.218.*','192.168.*.*'); //允許訪(fǎng)問(wèn)的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)檢測(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則終止匹配 break; } } } //end foreach if(!$bl){ $return=array( 'status'=>0, 'msg'=>$ip.'無(wú)權(quán)限訪(fǎng)問(wèn)', 'data'=>$iplists ); echo json_encode($return); exit(); } } } } });
售后工單
0次
提交售后工單方式
進(jìn)入工單平臺(tái):http://223987.com/member.html?app=vip&c=service&m=index,提交插件工單,選擇本插件《IP白名單》