联系官方销售客服

1835022288

028-61286886

第三方 IP白名单 版本号:1.0 投诉举报

安装后通过设置ip白名单实现只允许指定IP访问后台
0 更新时间:2022-04-01 15:19:23
价格: 免费
域名: 不限域名,允许安装到多个项目中
下载: 651 次    说明
依赖: 不依赖于任何插件
售后: 本应用的开发者不提供任何售后服务
需求: 若本源码的功能点不满足您的项目需求时,你可以通过这里找我们做定制开发服务 提交需求
安装平台: XunRuiCMS V4.6.3及以上版本
名称 IP白名单
版本号 V1.0
应用编号 APP921
应用类型 插件
发布时间 2022-02-21 14:28:41
更新时间 2022-04-01 15:19:23
支持内核 CodeIgniter
功能类别 工具 安全
依赖场景 不依赖于任何插件
源码加密 未加密
技术保障 第三方服务商
技术要求 需要掌握PHP、SQL、HTML、CSS、JS技术
支持浏览器 Chromium内核浏览器、Chrome、Edge、Firefox、Safari、Opera等
功能介绍

安装后通过设置ip白名单实现只允许指定IP访问后台。

IP设置错误后可以通过访问:http://域名/index.php?s=iplist&c=home自动授权当前IP。

实现原理:通过后台登陆之前钩子来实现IP限制。

使用方法:后台下载安装后把下面的代码添加到自定义钩子文件(/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.*.*');
//允许访问的ip
$check_ip_arr= explode('.',$ip);
//ip参数拆分成数组
if(!in_array($ip,$ALLOWED_IP)) {
  $bl=false;
  foreach ($ALLOWED_IP as $val){
    if(strpos($val,'*')!==false){
      //发现有*号替代符
      $arr=array();
      $arr=explode('.', $val);
      $bl=true;
      //用于记录循环检测中是否有匹配成功的
      for ($i=0;$i<4;$i++){
        if($arr[$i]!='*'){
          //不等于* 就要进来检测,如果为*符号替代符就不检查
          if($arr[$i]!=$check_ip_arr[$i]){
            $bl=false;
            break;
            //终止检查本个ip 继续检查下一个ip
          }
        }
      }
      //end for
      if($bl){
        //如果是true则终止匹配
        break;
      }
    }
  }
  //end foreach
  if(!$bl){
    $return=array(
       'status'=>0,
       'msg'=>$ip.'无权限访问',
       'data'=>$iplists
       );
    echo json_encode($return);
    
    exit();
  }
}  
}
}
});

QQ截图20220221142145

QQ截图20220221142533

使用说明:
1. 严禁卖家出现画饼行为,也不提倡因为卖家许诺后期新增某某功能产生让您下单购买的心理,请理性入手。
2. 严禁线下交易,买卖应用请通过线上购买,线下交易出现任何问题,均不在迅睿云官方处理范围,请知晓。
3. 维权退款问题可参考 《应用市场退款准则》 的说明。